redis zset底层实现

zset实现是由ziplist(数据量小),和skiplist(跳表)实现。

有序集合使用 ziplist 格式存储必须满足以下两个条件:

  • 有序集合保存的元素个数要小于 128 个;
  • 有序集合保存的所有元素成员的长度都必须小于 64 字节。

可以通过配置文件中的 zset-max-ziplist-entries(默认 128)和 zset-max-ziplist-value(默认 64)来设置有序集合使用 ziplist 存储的临界值。

typedef struct zset {
    dict *dict;
    zskiplist *zsl;
} zset;

跳表原理图

 

 跳表详细: 数组指针实现https://blog.csdn.net/weixin_45480785/article/details/116293416?utm_source=app&app_version=5.1.1

                 指针节点实现https://www.cnblogs.com/bigsai/p/14193225.html

posted @   klm-kain  阅读(596)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示