Redis为什么这么快?

Redis的高并发和快速原因很多,总结为以下几点:

整体架构

  1. Redis是 纯内存数据库,一般都是简单的存取操作,所以速度快(相对于读写磁盘,读写内存的速度就不是几倍几十倍了)
  2. Redis使用 非阻塞IO 与 IO多路复用
  3. Redis采用 单线程的模型,减少了线程的上下文切换和竞争,也保证了每个操作的原子性

优化

  1. 数据结构也帮了不少忙,Redis全程使用hash结构,读取速度快,还有一些特殊的数据结构,对数据存储进行了优化,如压缩表,对短数据进行压缩存储,再如,跳表,使用有序的数据结构加快读取的速度。
  2. Redis采用自己实现的事件分离器,效率比较高,内部采用非阻塞的执行方式,吞吐能力比较大

完全基于内存

Redis是纯内存数据库,相对于读写磁盘,读写内存的速度就不是几倍几十倍了,一般,hash查找可以达到每秒百万次的数量级。

IO多路复用

简答:一个线程通过跟踪多个IO流的状态,来管理多个IO流
“多路”指的是多个网络连接,“复用”指的是复用同一个线程。采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络IO的时间消耗)。可以直接理解为:单线程的原子操作,避免上下文切换的时间和性能消耗;加上对内存中数据的处理速度,很自然的提高redis的吞吐量。

posted @ 2022-03-20 09:11  紫薇哥哥  阅读(159)  评论(0编辑  收藏  举报