zset
zset中的每个元素包含数据本身和一个对应的分数(score)。ZSet 为有序的,自动去重的集合数据类型,ZSet 数据结构底层实现为 ziplist+或跳表(skiplist) ,zset的数据本身不允许重复,但是score允许重复。
使用ziplist的条件
- 有序集合保存的元素数量小于128个
- 有序集合保存的所有元素的长度小于64字节
这两个数值是可以通过redis.conf的zset-max-ziplist-entries 和 zset-max-ziplist-value选项 进行修改。
zset-max-ziplist-entries 128 // 元素个数超过128 ,将用skiplist编码
zset-max-ziplist-value 64 // 单个元素大小超过 64 byte, 将用 skiplist编码
数据少时,并且每个元素要么是小整数要么是长度较小的字符串时使用ziplist.
ziplist占用连续内存,