Skip to content

Latest commit

 

History

History
16 lines (7 loc) · 952 Bytes

File metadata and controls

16 lines (7 loc) · 952 Bytes

Redis 为什么是单线程的而不采用多线程方案?

这主要是基于一种客观原因来考虑的。因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了(毕竟采用多线程会有很多麻烦!)

单线程的Redis为什么这么快?

主要是有三个原因:1、Redis的全部操作都是纯内存的操作;2、Redis采用单线程,有效避免了频繁的上下文切换;3,采用了非阻塞I/O多路复用机制。

Redis对于大量的请求,是怎样处理的?

1、Redis是一个单线程程序,也就说同一时刻它只能处理一个客户端请求; 2、Redis是通过IO多路复用(select,epoll,kqueue,依据不同的平台,采取不同的实现)来处理多个客户端请求。