Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Zset-内部编码

  • 有序集合

    • 不允许有重复的成员member
    • 额外添加了分数score用作排序,分数可以重复
  • 使用场景

    • zadd记录用户视频的点赞数,并用zincrby不断自增更新
      • 用zrevrangebyrank可以快速取出前n名
      • 用zscore可以快速查询某个用户视频的点赞数
  • 源代码文件:t_zset.c

  • 可选编码类型

    • ziplist —— OBJ_ENCODING_ZIPLIST
      • 压缩链表,少于128个元素、且元素均小于64字节时采用
        • 512 是 zset-max-ziplist-entries 的默认值
        • 64 是 zset-max-ziplist-value 的默认值
    • skiplist —— OBJ_ENCODING_SKIPLIST
      • 跳表
  • 对应底层实现文件:分别在ziplist.cserver.h