一个键盘码代码,两只黄鹂名翠柳

redis链表数据结构及源码解析

链表在redis中使用非常频繁,常用的list数据就是使用链表数据结构,除此之外,还有发布与订阅、监视器也用到了链表。数据结构redis的链表由多个链表节点组成,每个链表节点分别保存了前驱和后继节点,形成了一个双向链表。最终的链表会包含一个头节点、尾节点以及链表长度。具体定义如下。1、链表节点typedef struct listNode {     // 前驱节点     struct listNode *prev;     // 后继节点     struct listNode *next; &nbs 查看全文

Redis主要数据类型的编码

简单动态字符串底层编码整数字符串对象embstr编码的字符串对象简单动态字符串转换long int使用int编码float使用 简单动态字符串编码当使用embstr编码的字符串长度大于39时,转换为简单动态字符串编码列表底层数据结构压缩列表双端链表转换列表元素长度大于64个字节或者列表元素数量大于512压缩列表编码则转换为双端链表Hash底层数据结构压缩列表字典转换列表元素长度大于64个字节或者列表元素数量大于512压缩列表编码则转换为字典集合底层数据结构整数集合,int16 int32 int64字典。存储时字典的key存储集合元素,value存储null转换整数集合转换为字典,存储的整数数量超过512则使用字段有序集合底层数据结构压缩列表跳跃表转换压缩列表编码要求集合元素数量小于128,元素大小小于64字节。不满足这两个条件则转换为跳跃表。 查看全文
加载更多
redis ( 8 )
php ( 6 )
index ( 5 )
go ( 5 )
源码 ( 5 )
ssl ( 4 )
数据结构 ( 4 )
https ( 3 )
awk ( 3 )
http ( 3 )
hql ( 3 )
字体 ( 3 )
链表 ( 2 )
firefox ( 2 )
跳跃表 ( 2 )
测试 ( 2 )
php:// ( 2 )
chrome ( 2 )