摘要: 链表 在Redis的早期版本中,存储list列表结构时,如果元素少则使用压缩列表ziplist,否则使用双向链表linkedlist 对于链表,有以下特性: 双端:节点带有prev和next指针以获取前置、后置节点 无环:表头的prev和表尾的tail指向NULL 带表头表尾指针:获取表头表尾节点复 阅读全文
posted @ 2019-09-01 22:54 Jeemzz 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis会使用整数集合(intset)来存储集合元素。 intset是紧凑的数组结构,同时支持16位、32位和64位整数。 结构 contents数组是整数集合的底层实现,各个项在数组中按值大小升序排列,且不包含重复项 contents数组 阅读全文
posted @ 2019-09-01 20:18 Jeemzz 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 为了节约内存,在zset和hash容器对象元素个数较少时,Redis会采用压缩列表(ziplist)进行存储。 压缩列表是一块连续的内存空间,元素之间紧挨着存储,不存在冗余 一个压缩列表可以包含任意多个节点(entry),每个节点可以保存一个字节数组或者一个整数值 结构 prevlen字段长度是1个 阅读全文
posted @ 2019-09-01 15:57 Jeemzz 阅读(573) 评论(0) 推荐(0) 编辑