Redis 使用了单线程架构和 IO 多路复用的模型来实现高性能的数据存储服务
为什么单线程了还能这么快呢
- 纯内存访问,Redis 是纯内存访问的,内存访问的响应时间大约是 100 纳秒,这是Redis 每秒万级访问的基础
- 非阻塞 IO Redis 使用 epoll 作为 IO 多路复用技术的实现,再加上 Redis 自己的事件处理模型将 epoll 中的 连接,读写,关闭都转换为事件,不再网络 IO 上浪费过多的时间
- 单线程避免了线程切换和竞争的损耗
摘自 《Redis 开发与运维》 一书