ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Redis为什么这么快?

2022-03-20 09:35:30  阅读:139  来源: 互联网

标签:为什么 hash 这么 Redis 线程 内存 IO 数据结构


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

整体架构

  1. Redis是 纯内存数据库,一般都是简单的存取操作,所以速度快(线程占用的时间很多,时间的花费主要集中在IO上)
  2. Redis使用 非阻塞IO,IO多路复用
  3. Redis采用 单线程的模型,减少了线程的上下文切换和竞争,也保证了每个操作的原子性

优化

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

完全基于内存

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

多路复用IO

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

标签:为什么,hash,这么,Redis,线程,内存,IO,数据结构
来源: https://www.cnblogs.com/ziweigege/p/16028977.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有