redis 利用了 IO 多路复用机制,处理客户端请求时,不会阻塞主线程。redis 单纯执行指令时(大多数指令),一个指令不到 1 微秒,如此,单核 CPU1 秒就能处理一百万个指令(大概对应几十万个请求),单线程不会成为 redis 的性能瓶颈,网络才是瓶颈
优化网络延时
首先如果使用单机部署(应用服务和 redis 在同一台机器上)的话,使用 Unix 进程间通讯来请求 redis 服务,速度比 localhost 局域网(学名:loopback)更快。
但是很多公司的业务规模不是单机部署能够支撑的,所以还是得用 TCP。
redis 客户端和服务器的通讯一般使用 TCP 长连接。如果客户端发送请求后需要等待 redis 返回结果再发送下一条指令,客户端和 redis 的多个请求就如下图: