Redis是多线程还是单线程?为啥有这样的设计?
dalao们帮忙解答一下
1.Redis 在最初的版本中选择单线程模型
在 4.0 之后的版本中加入了多线程的支持
Redis中只有网络请求模块和数据操作模块是单线程的。而其他的如持久化存储模块、集群支撑模块等是多线程的。
2.因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了(毕竟采用多线程会有很多麻烦!)。