Redis是单线程?
No!No!No!
这个说法是不对的,至少是不准确的。比较正规的说法应该是“Redis是单线程模型
”。那么单线程
和单线程模型
有什么区别呢?
首先,我们需要来了解一下Redis
。
Redis
基于Reactor模式开发了网络事件处理器
,这个处理器被称为文件事件处理器
。它的组成结构为4部分:多个套接字
、IO多路复用程序
、文件事件分派器
、事件处理器
。
其中的核心模块功能文件事件分派器队列的消费
是单线程
的,所以才叫做单线程模型
。
多线程IO
最新的Redis 6.0
已经增加了多线程IO
,默认是关闭的,有兴趣的可以开启下测试下性能,提升很不错。