Redis为什么这么快?
作者:互联网
Redis的高并发和快速原因很多,总结一下几点:
整体架构
- Redis是 纯内存数据库,一般都是简单的存取操作,所以速度快(线程占用的时间很多,时间的花费主要集中在IO上)
- Redis使用 非阻塞IO,IO多路复用
- Redis采用 单线程的模型,减少了线程的上下文切换和竞争,也保证了每个操作的原子性
优化
- 数据结构也帮了不少忙,Redis全程使用hash结构,读取速度快,还有一些特殊的数据结构,对数据存储进行了优化,如压缩表,对短数据进行压缩存储,再如,跳表,使用有序的数据结构加快读取的速度。
- Redis采用自己实现的事件分离器,效率比较高,内部采用非阻塞的执行方式,吞吐能力比较大
完全基于内存
Redis是纯内存数据库,相对于读写磁盘,读写内存的速度就不是几倍几十倍了,一般,hash查找可以达到每秒百万次的数量级。
多路复用IO
“多路”指的是多个网络连接,“复用”指的是复用同一个线程。采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络IO的时间消耗)。可以直接理解为:单线程的原子操作,避免上下文切换的时间和性能消耗;加上对内存中数据的处理速度,很自然的提高redis的吞吐量。
标签:为什么,hash,这么,Redis,线程,内存,IO,数据结构 来源: https://www.cnblogs.com/ziweigege/p/16028977.html