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))。

posted @ 2022-11-20 00:55  董振  阅读(134)  评论(0)    收藏  举报