整体架构图
架构分析
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)