为什么快
- 数据存储在内存中,内存的访问速度比磁盘快
- 使用单线程,避免多线程的切换开销;采用I\O多路复用,实现单线程连接多个客户端,提高了并发效率
- 使用高效的数据结构
为什么使用单线程
- 避免多线程的切换开销
- 采用I\O多路复用,单线程可以连接多个客户端
- 代码简便
- redis是基于内存操作,操作瓶颈不在CPU
为什么引入多线程
数据变多,请求变多,瓶颈主要在网络I\O,可以搭建redis集群解决,但是成本过大,所有采用多线程可以提高网络I\O处理速度。但是多线程只用于网络请求模块。
多线程默认是关闭的,开启多线程 io-threads-do-reads: yes
