数据库
首页 > 数据库> > Redis为什么这么快?

Redis为什么这么快?

作者:互联网

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