
redis
qq_35728402
这个作者很懒,什么都没留下…
展开
-
redis 对象
redis 对象定义redis的对象主要成员是类型和编码,这两个成员决定了数据在内存中的保存方式typedef struct redisObject { //对象类型 unsigned type:4; //对象编码 unsigned encoding:4; //LRU时间 unsigned lru:LRU_BITS; /* LRU time (relative to global lru_clock) or原创 2020-10-18 16:36:59 · 105 阅读 · 0 评论 -
redis压缩列表
压缩列表是列表和字典的底层实现压缩列表结构压缩列表字段说明属性类型用途zlbytesuint32_t整个压缩列表所占字节数zltailuint32_t记录最后节点距离压缩列表起始位置的字节数zllenuint16_t压缩列表中的元素个数entryX不定存储的元素zlenduint8_t特殊值(0xFF)压缩列表节点结构previous_engtry_length : 存储上一个元素的长度,有两个长度1个字节,如果上一个en原创 2020-10-17 21:10:25 · 158 阅读 · 0 评论 -
redis 整数集合
整数集合是redis集合的实现方式之一主要好处是灵活、节约内存空间整数集合类定义集合种存储的数据宽度是根据encoding来定义的,如果等于INTSET_ENC_INT16数据宽度为16位,INTSET_ENC_INT32是32位,INTSET_ENC_INT64是32位typedef struct intset { //编码方式 //主要有3种编码格式:INTSET_ENC_INT16、INTSET_ENC_INT32、INTSET_ENC_INT64 uint32_t encodin原创 2020-10-16 23:17:23 · 178 阅读 · 0 评论 -
redis 跳跃表
跳跃表可以看作时对有序链表的改进,我们知道对链表中元素查找的时间复杂度时O(n),但是,如果我们可以知道中间节点的大小,就可以判断元素实在链表的前半段还是后半段,然后在链表的前半段或者后半段去查找,通过这种思想,就可以把链表的时间复杂度降低到O(lgn)跳跃表就是借助这种思想,但是因为链表中的元素数随着插入元素和删除元素的减少,很难定位中位数在哪里,所以,跳跃表采用随机的方法来定义每个节点的层数。跳跃表类定义redis 中跳跃表主要有两个结构zskiplist和zskiplistNodezskipl原创 2020-10-15 23:53:59 · 263 阅读 · 0 评论 -
redis 字典
字典类图1、字典中保存一个函数表头列表,ht[0] 平时存储数据,ht[1]空闲,当rehash的时候ht[1]分配rehash的空间2、type中存储字典中的各种函数3、treashindex为-1,标示没有进行rehash,不为零标示rehash的进度redis 字典结构字典在一般情况下,只有ht[0]表有数据字典解决hash冲突的方法时开链法redis 字典rehashrehash的时机当字典没有执行BGSAVE或者BGREWRITEAOF的时候,哈希表的负载因子大于等于1当原创 2020-10-13 23:11:55 · 178 阅读 · 0 评论 -
redis 链表
redis链表结构如下#mermaid-svg-b4k1oDcfFVhafcB1 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-b4k1oDcfFVhafcB1 .label text{fill:#333}#mermaid-svg-b4k1oDcfFVhafcB1 .node rect,#mermaid-sv原创 2020-10-11 23:12:07 · 126 阅读 · 0 评论 -
redis简单动态字符串
redis简单字符串的结构如下:#mermaid-svg-yxliJ7vJsuJHWrLK .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-yxliJ7vJsuJHWrLK .label text{fill:#333}#mermaid-svg-yxliJ7vJsuJHWrLK .node rect,#merma原创 2020-10-08 21:39:12 · 241 阅读 · 2 评论