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