Redis学习(六)数据存储类型——sorted_set(zset)

本文详细介绍了Redis中Sorted Set的数据结构特点与基本操作,包括添加、获取、删除数据的方法,以及如何进行排序、条件筛选和集合运算。同时,文章还探讨了score值的管理与注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sorted_set的结构

sorted_set的特点

  1. 支持排序
  2. value值是唯一的
  3. 可以存储大量数据

 

sorted_set的基本操作

添加数据

zadd key score1 member1 score2 member2 ...

获取数据(withscores表达的是是否连scores一起返回)

zrange key start stop [withscores]            // 根据score从低到高返回
zreverage key start stop [withscores]         // 根据score从高到低返回

删除数据

zrem key member ...

根据score条件获取数据(Limit和sql分页用法一样)

zrangebyscore key min max [withscores] [limit]
zreveragebyscore key min max [withscores]

根据条件删除数据

zremrangebyrank key start stop        // 根据下标删除数据
zremrangebyscore key min max          // 根据score条件删除数据

获取数据总量

zcard key                    // 查询key下有多少数据
zcount key min max           // 查询key下 score条件有多少数据

集合交集、并集操作

zinterstore destionation numkeys key ...
求交集,结果是相同的value值不变,对应的score相加

zinterstore destionation numkeys key ... [aggregate MAX|MIN|SUM ]
求交集,结果是相同的value值不变,对应的score取最大值|最小值|和

zunionstore destionation numkeys key ... [aggregate MAX|MIN|SUM ]
求并集,结果是相同的value值不变,对应的score取最大值|最小值|和

 

扩展操作

获取数据对应下标(从0开始)

zrank key member            // 正向排序获取下标
zrevrank key member         // 反向排序获取下标

score值的获取和修改

zscore key member                        // 根据key member获取score的值
zincrby key increment member             // 根据key member获取的score值+increment

 

sorted-set注意事项:

  1. score可以是double类型的值,但是使用double类型的值可能会有丢失精度的风险,建议使用整数

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值