[redis] list数据结构

一、描述

redis的一个数据结构为list(双向列表)


二、数据结构定义


struct quicklistNode *prev;

struct quicklistNode *next;

从prev和next都是当前该数据结构quicklistNode的定义,再查看其他数据如sz,count等都不能表示存放的数据,因此实际quicklistNode的数据存储功能是交由ziplist(压缩双向列表),相关链接

unsigned char *zl;

比较好的描述quicklistNode是一个内部由ziplist构成的双向链表


三、控制ziplist的参数

因为内部的数据实际是通过ziplist来进行存放的,一个节点到底存放多少entry的数据呢,这个会导致内存和执行效率,而如下参数便是控制这个的:

list-max-ziplist-size -2

1.负数,表示每个quicklist节点内部的ziplist不能超过多少字节,-2代表8kb

2.正数,表示每个quicklist节点内部的ziplist的entry数量不能超过这个正数



发布了140 篇原创文章 · 获赞 28 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/qq_16097611/article/details/79920211