平衡二叉树二叉树的查找的时间复杂度是O(log2N),其查找效率与深度有关,而普通的二叉树可能由于内部节点排列问题退化成链表,这样查找效率就会很低。因此平衡二叉树是更好的选择,因为它保持平衡,即...

流量控制一般来说,我们希望数据传输的更快一些。但是如果发送方传的过快,接收方来不及接收,这就会造成数据的丢失。所谓流量控制(flow control)就是让发送方的发送速率不要太快,要让接收方来...

链地址法,将冲突键以链表结构存储开放寻址法。其中包括三种方式:线性探测再散列、二次探测再散列、伪随机再散列再散列法。对冲突键不断散列,直到不冲突为止。消耗计算时间。

字典字典又称符号表、关联数组、映射,是保存k-v结构的抽象数据结构。redis中字典是常用数据结构,数据库命令就是字典结构,还有哈希对象,底层也是字典,但是有条件。

跳跃表跳跃表skiplist 是一种有序数据结构,通过在每个节点维持多个指向其他节点的指针,从而达到快速访问的目的。跳跃表可以在O(logn)、最坏O(N)时间复杂度下查找节点,还有顺序性操作批...

压缩列表ziplist是列表、哈希和有序集合的底层实现,当数据量比较小时会使用ziplist。列表类型ziplist条件:列表对象保存的所有字符串元素都小于64字节;列表对象保存的元素个数小于5...

zset对象的结构可以是ziplist或skiplist当同时满足以下两个条件时使用ziplist:有序集合保存的元素小于128个所有元素长度小于64字节注,以上条件上限值可修改。在配置文件中z...

sds定义sds.h/sdshdr 结构定义了sds的结构:struct sdshdr { //记录buf数组使用字节数量,即字符串长度 int len; //记录buf数组未使用字节数量 i...

哨兵系统会监控主从服务器,当检测到下线时长超过用户设定时长上限时,会进行故障转移操作:选择一个从服务器作为主服务器然后对其他所有从服务器发送新的复制指令,让它们成为新的主服务器的从服务器,当所有...

2.8版本前后复制原理有所不同,2.8之前称为旧版,2.8后称为新版。旧版复制实现原理redis的复制操作分为同步(sync)和命令传播(command propagate) 两个操作:同步操作...