redis学习笔记之五种数据结构

zset
简介

zset:有序集合。有序集合中的元素可以排序。与列表使用索引下标不同,他给每一个元素设置一个分数作为排序的依据。
在这里插入图片描述

比较

在这里插入图片描述

常用命令及时间复杂度
//返回结果为成功添加成员个数(可多次插入)
zadd user:ranking 251 tom //添加用户tom及分数251 
//zadd 的选项 nx xx ch incr 
//分别为member必须不存在,才能添加成功,用于添加
//member必须存在,才能成功 用于更新
//返回此次操作后的有序集合元素和分数发生变化的个数
//对score做增加


zcard key  //计算成员个数
zscore key member //计算某个成员的分数
zrank key member //计算member的排名表 从低到高
zrevrank //使用方法同上 但是是从高到低
zrem key member //从key中移除member
zrange key start end //根据分数从低到高 从start 到end 来查
zrevrange key start end//从高到低
zcount key min max//分数从min -max 的个数

还有根据排名、分数范围删除。
求两个集合的交集 并集

在这里插入图片描述

内部数据结构
  • ziplist 当有序集合的元素个数小于配置参数时(默认为128个)同时每个元素的值小于配置参数(默认64字节)。redis会使用ziplist作为有序集合内部实现,ziplist可以有效减少内存使用。
  • skiplist 当ziplist 条件不满足时,就会使用skiplist 作为内部实现。因为此时ziplist的读写效率会下降。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值