sortedSet是带有顺序的set。跟sets一样,member是唯一的。
添加
-
ZADD key [NX|XX] [GT|LT] [CH] [INCR] score member [score memner]
添加一个或多个score/member是键值对。如果member以存在,则更新它的score并且这个member会再右边再次被插入,确保正确的顺序。
XX:仅更新以存在的member
NX:仅新增member,这个member是原先不存在的
LT:仅更新存在并且新的score小于原来的score的member
GT:仅更新存在并且新的score大于原来的score的member
CH:表示返回值是返回被修改的数量(包括:新增和更新)。默认是仅返回仅新增的数量
Long addNumber = resource.zadd(key, scoreMember); -
ZINCRBY key incrment member
更新指定member的score。如果member不存在,先把member的score初始化0
返回值:更新后的score
Double newScore = resource.zincrby(key, 2, "d");
统计数量
-
ZCARD key
返回member的数量
返回值:members的数量或者0
Long membersNum = resource.zcard(key); -
ZCOUNT key min max
返回score在区间 【mix, max】的member的数量
Long rangeMinMax = resource.zcount(key, 2, 3);
移除元素
-
ZREM key member [member …]
移除指定的member
返回值:返回被移除的数量
Long removedNum = resource.zrem(key, "c"); -
ZREMRANGEBYRANK key start stop
移除rank在区间[start, stop]的member。rank表示index值。0表示score最低的member
返回值:被移除的数量
Long removedNum = resource.zremrangeByRank(key, 0, 1); -
ZREMRANGEBYSCORE key min max
移除score在区间[min, max]的member。指定字符(表示半开区间。(2,6 表示(2, 6]
返回值:被移除的数量
Long removedNum = resource.zremrangeByScore(key, "(2", "3");
遍历
-
ZRANGE key min max [BYSCORE | BYLEX] [REV] [LIMIT offset count] [WITHSCORES]
返回指定范围内的members。
ZRANGE可以指定不同类型查询:1)index 默认
2)score
3)字典序
默认是member的顺序根据score从低到高。如果member有相同的score,则按字典序排序。
offet表示偏移,count表示限制多少数据
WITHSCORES表示,返回值是member-score的键值对
Index查询
默认查询类型是index。参数min和max表示索引值(从0开始)。注意这里范围是闭区间 [min, max]
Score查询
加上BYSCORE表示查询类型为按SCORE查询。参数min和max表示score的区间值。区间范围闭区间[min, max] 。我们通过字符(表示半开区间。(2, 4 表示(2,4]
Set<String> members = resource.zrange(key, 0, -1); members = resource.zrangeByScore(key, "(1", "4");
Redis的SortedSets类型提供了有序的集合操作,如添加、统计数量、移除元素和遍历。ZADD用于添加成员,支持多种条件更新;ZCARD返回成员数量;ZCOUNT统计指定score范围的成员数;ZREM移除成员;ZREMRANGEBYRANK和ZREMRANGEBYSCORE根据排名或分数范围删除成员;ZRANGE则用于按不同方式遍历集合成员。
445

被折叠的 条评论
为什么被折叠?



