Redis为什么这么快

Redis是一个高性能的内存数据存储系统,其速度得益于数据完全在内存中操作。它使用优化的数据结构如SDS、Hashtable等,并且在6.0之前采用单线程模型,减少了上下文切换和锁竞争。此外,Redis利用多路I/O复用技术,如epoll,能够在单线程中高效处理多个连接请求,进一步提升吞吐量。
摘要由CSDN通过智能技术生成

1. 基于内存的数据存储系统,绝大部分请求是纯粹的内存操作,非常快速;

2. 高效的数据结构,Redis对每种数据类型的底层数据结构都做了优化(SDS、Hashtable、Ziplist、Skiplist、Linkedlist、Intset);

3. 采用单线程,Redis6.0之前使用单个线程处理请求,避免了不必要的上下文切换和锁资源竞争产生的开销;

4. 基于多路I/O复用模型

  • 多路I/O复用模型是利用 select、poll、epoll 可以同时监察多个流的 I/O 事件的能力,在空闲的时候,会阻塞当前线程,当有一个或多个流有 I/O 事件时,就将从阻塞态中唤醒,于是程序就会轮询一遍所有的流(epoll 是只轮询那些真正发生事件的流),并且只依次按序处理就绪的流,这种做法就避免了大量的无用操作。这里“多路”指的是多个网络连接,“复用”指的是复用同一个线程。 采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络 IO 的时间消耗),且 Redis 在内存中操作数据的速度非常快,也就是说内存内的操作不会成为影响Redis性能的瓶颈,主要由以上几点造就了 Redis 具有很高的吞吐量
    原文链接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Malax

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值