「这是我参与2022首次更文挑战的第22天,活动详情查看:2022首次更文挑战」。
前言
大家好,我是程序猿小白 gw_Gw,很高兴能和大家一起学习进步。
以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。
摘要
本文主要介绍Redis的sorted set数据类型使用。
sorted set类型
sorted set也是集合类型,和set不同的是,sorted set通过每一个数据关联一个double类型的score来确定排序的效果,从而达到集合有序。
基本操作
-
添加数据
zadd key score1 member1 score2 member2
score决定了排序的效果。
-
获取数据
按照升序查看,如果又withscores参数,则会在显示时同时显示score的值。 zrange key start stop [withscores] 按照降序查看 zrevrange key start stop [withscores]
-
删除数据
zrem key member1 ...
返回删除的的个数。
- 通过条件查询
查询socre值在[min,max]区间的数据,可以使用limit来限制查询数量 offset时开始位置,count是查询总量。
如果使用(min max则表示区间为(min,max] ,(min (max 则表示区间为(min,max)
zrangebyscore key min max [withscores] [limit offset count] 倒序查询 zrevrangebyscore key max min [withscores]
-
通过条件删除
根据索引顺序删除 zremrangebyrank key start stop 根据score范围删除 zremrangebyscore key min max
-
获取数据个数
获取全部数据个数 zcard key 获取指定score范围内的数据个数 zcount key min max
-
集合交、并后存储到指定集合
numkeys决定求交集或并集的数量
交集,默认情况下结果集中的score值是各集合相加的结果,通过sum、min、max可以来指定最后结果集中的score值。是相加还是最小值,或者是最大值。
```
zinterstore destination numkeys key1 key2 ... [aggregate sum|min|max]
并集
zunionstore destination numkeys key1 key2...
```
扩展操作
-
获取数据的位置,从0开始
从小到大获取 zrank key member 从大到小获取 zrevrank key member
-
获取和修改score值
获取score值 zscore key member 修改score值,增加或减少指定的值 zincrby key increment member
小结
以上就是关于redis的最后一个数据类型sorted set的使用,希望能对读者有所帮助,如有不正之处,欢迎留言指正。