深入学习redis6源码-redis底层数据结构篇
一方面是\0是char *的结束符,不符合redis的存储任何字符的要求。其ptr指向的就是真正的数据,而且可以根据encoding的不同对相同type的数据使用不同的数据结构进行保存。ziplist有连续更新的问题,listpack不需要保存上一个数据节点的大小,直接杜绝了连续更新问题。核心图,除了头结点,每个节点的level[i]的forward指针只会指向level数组大小大于等于i的节点。让空间更高效的使用了。key有重复的部分,特别是时间戳类数据,可以节省空间,前缀树的变体。
原创
2024-01-06 14:50:23 ·
950 阅读 ·
1 评论