![b306ac8d2fc23195a8125a9a0dc45546.png](https://i-blog.csdnimg.cn/blog_migrate/4b0fb8a055ce7e7da388fa5d68fad470.jpeg)
redis 采用网络IO多路复用技术来保证在多连接的时候,系统的高吞吐量。
多路-指的是多个socket连接,复用-指的是复用一个线程。多路复用主要有三种技术:select,poll,epoll。epoll是最新的也是目前最好的多路复用技术。
这里“多路”指的是多个网络连接,“复用”指的是复用同一个线程。采用多路I/O
复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络IO的时间消耗),且Redis在内存中操作数据的速度非常快(内存内的操作不会成为这里的性能瓶颈),主要以上两点造就了Redis具有很高的吞吐量。
![62ea9b192c164e66902225c91451be1c.png](https://i-blog.csdnimg.cn/blog_migrate/629af0a097cd2881de9d06d9f0959dd7.png)
因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,所以采用单线程的方案。
http://weixin.qq.com/r/JjokPIrEpdfarc5f9280 (二维码自动识别)