- redis是单线程吗
严格来讲并不是,后台还是有一些别的线程来执行一些比较慢的如持久化,大key删除等,但是主要操作如,socket读,解析,执行,socket写等操作是单线程的,所以我们说redis是单线程
- redis为什么要用单线程
redis主要操作完全基于内存操作速度非常快,cpu并不是瓶颈,使用多线程还增加了线程切换成本,并且多线程操作还要考虑线程安全,非常复杂,而带来的好处并不明显,所以使用单线程
- 为什么redis单线程还那么快
完全基于内存,数据结构相对简单,使用多路复用模型非阻塞性io
- redis6为什么引入了多线程
redis的socket读写解析比较耗时占用了大量的cpu时间,所以引入了多线程来处理这一部分的任务,执行命令还是单线程的,可以看作是一个伪多线程