redis从整个架构上分析快的原因

244 阅读1分钟

整体架构图

image.png

架构分析

1.通过网络调用,网络层使用NIO多路复用技术,服务端采用单线程处理IO事件

2.整体存储使用hash表的数据结构,全局一张hash表存储所有数据且在内存中

3.使用两个全局hash表用来解决hash冲突,进行扩容操作,这样使时间复杂度
  不断无限接近O(1),二次扩容,为了数据量大防止阻塞,分批进行rehash
  
4.redis提供丰富的value类型String(字符串)、List(列表)、Hash(哈希)、
  Set(集合)和Sorted Set(有序集合)
  
5.String直接全局hash表就能查找时间复杂度O(1),Hash底层使用hash表时间复杂度也是O(1)
  Sorted Set底层采用跳表时间复杂度为O(log N),其他为O(N)