Redis 压缩列表

压缩列表是  哈希以及列表 的底层实现,节约内存

当元素数目较少,且key,value皆为整数或短字符串时使用压缩列表实现哈希以及列表对象

首先在列表元素较少的情况下会使用一块连续的内存存储,这个结构是 ziplist,也即是 压缩列表。它将所有的元素紧挨着一起存储,分配的是一块连续的内存。当数据量比较多的 时候才会改成 quicklist。因为普通的链表需要的附加指针空间太大,会比较浪费空间,而且 会加重内存的碎片化。

1 连续内存   减少碎片化   且访问性能更好

2 减少普通链表附加指针空间所耗费空间大小,节约内存

使用普通列表相比较与压缩列表,除了存储value外,还需要两个额外的指针,各个节点通过指针串联起来。而压缩列表则各个节点存储内存地址顺序相接,不需要指针

你可能感兴趣的:(中间件,分布式)