rides为什么单线程也可以很快
1. 纯内存操作
Redis是一个内存数据库;
数据都存储在内存中,所有的读写操作都在内存中完成,不需要像传统数据库一样在硬盘中读取数据,速度更快。
2. 采用高效的数据结构
Redis底层的数据结构进行了专门设计,提升查询效率;
例如zset的跳表-在链表的基础上增加了多级索引。
3. 对请求处理流程使用单线程
- 避免多线程上下文切换导致的性能损耗;
- 避免多线程竞争共享资源加锁导致的性能损耗。
4. 使用多路I/O复用模型
使用不阻塞方式让单线程的Redis服务端同时处理多个客户端的请求,减少网络IO的时间消耗;
“多路”指的是多个网络连接,“复用”指的是复用同一个线程
5. 非CPU密集型任务
采用单线程的缺点无法使用多核CPU,可以通过部署多个Redis节点组成集群的方式来提高性能。
本文揭示了Redis为何利用单线程设计仍能高效运作:内存操作、高效数据结构、避免上下文切换与竞争、多路IO复用,以及集群部署策略。
1594

被折叠的 条评论
为什么被折叠?



