Redis学习(六)之redis中的数据类型之SortedSet类型
1、sortedset中每个元素有一个浮点值。
2、浮点值越大的,元素排序就大,浮点值相同,则按元素的字符串值比较。
3、元素必须唯一。

1、ZADD key [NX | XX] [GT | LT] [CH] [INCR] score member [score member...]
NX:如果不存在就执行。
XX:如果存在就执行。
GT:如果比之前的score大就执行。不会阻止添加新元素。
LT:如果比之前的score小就执行,不会组织添加新元素。
CH:正常情况下,zadd返回值是添加的新元素的数量,ch参数,返回值=新元素数量+score改变的元素数量
INCR:类似于ZINCRBY,添加此参数后,后面只能跟一个元素
注:GT,LT,NX互斥。
2、ZRANGE key start stop [BYSCORE | BYLEX] [REV] [LIMIT offset count][WITHSCORES]
BYLEX:通过字典顺序
REV:反向
LIMIT OFFSET COUNT:从匹配元素中获取子元素
WITHSCORES:返回值中携带score

1、ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
min max可以用-inf和+inf来表示,如ZRANGEBYSCORE hackers -inf 1950,查询1950年之前出生的
2、默认闭区间,开区间可以通过加括号来表示。

1、zrank key member可以获取元素排名

1、通过元素的字典顺序来查询
2、ZRANGEBYLEX key min max [LIMIT offset count]
ZADD myzset 0 a 0 b 0 c 0 d 0 e 0 f 0 g
(integer) 7
redis> ZRANGEBYLEX myzset - [c
1) "a"
2) "b"
3) "c"
redis> ZRANGEBYLEX myzset - (c
1) "a"
2) "b"
redis> ZRANGEBYLEX myzset [aaa (g
1) "b"
2) "c"
3) "d"
4) "e"
5) "f"
3、ZLEXCOUNT key min max 统计符合条件的数量

1、排行榜,通过zadd添加和修改score,时间复杂度是O(log(N))。

浙公网安备 33010602011771号