redis zset(有序集合)类型

发布于:2024-08-20 ⋅ 阅读:(131) ⋅ 点赞:(0)

有序集合中的元素是无序的,有序集合中的元素是不能重复的

有序集合:有序指的是升序或者降序

1.zadd key [nx | xx] [gt | lt] [ch] [Incr] score member [score member ...]:往有序集合中添加元素和分数(可以通过score 找到member 也可以通过member找到score)

xx:更新元素已经存在的元素,不会添加新的元素

nx:只是添加新的元素,不会更新已经存在的元素(元素指的是member)

不加 NX|XX的时候: 如果当前 member不存在,就会添加新 member,如果member存在,就会更新分数

lt :只更新已经存在的元素,新的分数比当前分数要小更新才会成功,不会阻止添加新的元素

gt:只更新已经存在的元素,新的分数比当前分数要大更新才会成功,不会阻止添加新的元素

ch: 返回修改的元素个数

incr:+/- score 返回score

2.zrange key start stop withscores:查看有序集合中的元素详情

3.zcard key:获取当前元素个数

4.zcount key min max:返回score在 min 到max区间的元素

5.zrevrange key start stop withsocres:逆序查看有序集合中的元素详情

6.zrangebyscore key min max withscores: 根据分数查找element

7.zpopmax key [count]:删除最大的count个元素(分数相同按照member的字典序),返回被删除的元素

8.bzpopmax key[key ...] timeout(阻塞版本和blpop一样):阻塞删除最大的元素

9.zpopmin key [count ]:删除有序集合中的count(默认是1)个元素 

10. bzpopmin key [key ...]  key timeout:阻塞删除最小元素和 bzpopmax相对

11.zrem key member [member ...]:删除指定元素 返回删除成功的元素个数

12 zremrangebyrank key start stop:删除start到stop的元素 返回删除成功的元素个数

13zremrangebyscore key min max: 指定一个score区间删除元素的个数

14.zincrby key increment member:让key 的 member对应的分数increment+  /-n  返回计算后的分数(可以对小数进行操作)

15. zinterstore destination unkeys key [key ...] [weights weight [weight ...]] [aggregate <sum | min |max>] :交集 结果存到destination中 unkeys运算集合的个数  weight 权重  aggregate分数按照什么规则计算(默认是sum)

16. zunionstore destination unkeys key [key ...] [weights weight [weight ...]] [aggregate <sum | min |max>]:并集 返回计算后元素的个数