美文网首页
zset的key区间操作

zset的key区间操作

作者: 闲云野鹤_23dd | 来源:发表于2020-12-18 21:42 被阅读0次

    ZRANGEBYLEX

    语法

    ZRANGEBYLEX key min max [LIMIT offset count]
    
    

    当有序集合的所有成员都具有相同的分值时, 有序集合的元素会根据成员的字典序来进行排序, 而这个命令则可以返回给定的有序集合键 key 中, 值介于 min 和 max 之间的成员。

    如果有序集合里面的成员带有不同的分值, 那么命令返回的结果会不准确。通常在相同分值的集合中使用

    可选的 LIMIT offset count 参数用于获取指定范围内的匹配元素 (就像 SQL 中的 SELECT LIMIT offset count 语句)。

    区间

    合法的 min 和 max 参数必须包含 ( 或者 [ , 其中 ( 表示开区间(指定的值不会被包含在范围之内), 而 [ 则表示闭区间(指定的值会被包含在范围之内)。

    特殊值 + 和 - 在 min 参数以及 max 参数中具有特殊的意义, 其中 + 表示正无限, 而 - 表示负无限。 因此, 向一个所有成员的分值都相同的有序集合发送命令 ZRANGEBYLEX <zset style="box-sizing: border-box;">- + , 命令将返回有序集合中的所有元素。</zset>

    例子

    redis> 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"
    
    

    ZLEXCOUNT

    语法

    ZLEXCOUNT key min max
    
    

    对于一个所有成员的分值都相同的有序集合键 key 来说, 这个命令会返回该集合中, 成员介于 min 和 max 范围内的元素数量。

    这个命令的 min 参数和 max 参数的意义和 ZRANGEBYLEX key min max [LIMIT offset count] 命令的 min 参数和 max 参数的意义一样。

    返回值:
    整数回复:指定范围内的元素数量。

    例子

    redis> ZADD myzset 0 a 0 b 0 c 0 d 0 e
    (integer) 5
    
    redis> ZADD myzset 0 f 0 g
    (integer) 2
    
    redis> ZLEXCOUNT myzset - +
    (integer) 7
    
    redis> ZLEXCOUNT myzset [b [f
    (integer) 5
    
    

    ZREMRANGEBYLEX

    语法

    ZREMRANGEBYLEX key min max
    
    

    对于一个所有成员的分值都相同的有序集合键 key 来说, 这个命令会移除该集合中, 成员介于 min 和 max 范围内的所有元素。

    这个命令的 min 参数和 max 参数的意义和 ZRANGEBYLEX key min max [LIMIT offset count] 命令的 min 参数和 max 参数的意义一样。

    返回值:
    整数回复:被移除的元素数量。

    例子

    redis> ZADD myzset 0 aaaa 0 b 0 c 0 d 0 e
    (integer) 5
    
    redis> ZADD myzset 0 foo 0 zap 0 zip 0 ALPHA 0 alpha
    (integer) 5
    
    redis> ZRANGE myzset 0 -1
    1) "ALPHA"
    2) "aaaa"
    3) "alpha"
    4) "b"
    5) "c"
    6) "d"
    7) "e"
    8) "foo"
    9) "zap"
    10) "zip"
    
    redis> ZREMRANGEBYLEX myzset [alpha [omega
    (integer) 6
    
    redis> ZRANGE myzset 0 -1
    1) "ALPHA"
    2) "aaaa"
    3) "zap"
    4) "zip"
    

    相关文章

      网友评论

          本文标题:zset的key区间操作

          本文链接:https://www.haomeiwen.com/subject/imzniktx.html