Redis是采用C语言写的,并且属于单线程的,同时Redis的瓶颈不是CPU,而是根据机器的内存以及网络的带宽。
同时理解其中存在的误区:
1、多线程一定比单线程快(X),多线程切换时会在cpu在造成资源的浪费,从而降低运行速度。
2、高性能的服务器不一定是多线程的。
速度:CPU>内存>磁盘
关键为Redis将所有的数据存放到内存中,所以说使用单线程是效率最高的,多线程中CPU上下文切换,耗时不小。
对于内存系统来说,如果没有上下文切换效率就是最高的!多次读写都是在同一个CPU上,在内存中,这就是最佳的。