# 结构

ziplist

# 用处

  • 列表键
  • 哈希键

# 定义

struct ziplist {
    // 整个压缩列表占用的字节数
    int32 zlbytes;
    // 最后一个元素距离压缩列表起始位置的偏移量
    int32 zltail_offset;
    // 元素个数
    int16 zllength;
    // 元素内容列表
    T[] entries;
    // 结束标志
    int8 zlend;
}
struct entry {
    // 前一个元素的长度
    int<var> prelen;
    // 元素类型编码
    int<var> ecoding;
    // 元素内容
    optional byte[] content;
}

# 优缺点

优点:节约空间
缺点:新增或删除可能会导致级联更新造成性能影响