rides为什么单线程也可以很快

本文揭示了Redis为何利用单线程设计仍能高效运作:内存操作、高效数据结构、避免上下文切换与竞争、多路IO复用,以及集群部署策略。

rides为什么单线程也可以很快

1. 纯内存操作

Redis是一个内存数据库;
数据都存储在内存中,所有的读写操作都在内存中完成,不需要像传统数据库一样在硬盘中读取数据,速度更快。

2. 采用高效的数据结构

Redis底层的数据结构进行了专门设计,提升查询效率;
例如zset的跳表-在链表的基础上增加了多级索引。

3. 对请求处理流程使用单线程

  • 避免多线程上下文切换导致的性能损耗;
  • 避免多线程竞争共享资源加锁导致的性能损耗。

4. 使用多路I/O复用模型

使用不阻塞方式让单线程的Redis服务端同时处理多个客户端的请求,减少网络IO的时间消耗;

“多路”指的是多个网络连接,“复用”指的是复用同一个线程

5. 非CPU密集型任务

采用单线程的缺点无法使用多核CPU,可以通过部署多个Redis节点组成集群的方式来提高性能。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值