Redis指令详解-sorted set相关指令

目录

目标

BZPOPMIN

BZPOPMAX

ZPOPMAX

ZPOPMIN

ZADD

ZREM

ZREMRANGEBYLEX

ZREMRANGEBYRANK

ZREMRANGEBYSCORE

ZINCRBY

ZCARD key

ZCOUNT

ZLEXCOUNT

ZRANGE

ZRANGEBYLEX

ZRANGEBYSCORE

    场景:根据元素权重随机获取

ZREVRANGE

ZREVRANGEBYLEX

ZREVRANGEBYSCORE

ZRANK

ZREVRANK

ZSCORE

ZSCAN

ZUNIONSTORE

ZINTERSTORE


目标

列举redis中与zset相关的指令,包括作用、使用时需要注意的地方等。对于某些基本用不到的指令仅一带而过。

BZPOPMIN

    BZPOPMIN key [key ...] timeout
    O(log(N)) N:set中元素数量
    阻塞当前连接,从第一个有元素的sorted set中删除并取出score最小的元素
    当超时时间到且没有元素时,返回null
    当有元素时,返回由三个数据构成的数组,key、score、value

BZPOPMAX

ZPOPMAX

    ZPOPMAX key [count]
    O(log(N)*M) N:set中元素数量  M:返回元素数量
    删除并返回前count个score大的元素。不提供count,则返回一个最大score的元素。多个count,则返回count个元素。
    返回score和元素

ZPOPMIN

ZADD

    ZADD key [NX|XX] [CH] [INCR] score member [score member ...]
    O(log(N)) N:set中元素数量
    向sorted set中添加score和元素。如果元素存在,则重新设置score并重新插入到由score排序后的位置。如果key不存在,则新建sorted set。如果key对一个val不为sorted set,则error。
    score应可用两位精度浮点数的string形式表示,+-都可以。
    options
        XX 仅更新已存在元素,忽略新增元素。
        NX 仅新增元素,忽略已存在元素。
        CH 改变返回值,从默认返回新增元素数量改为本次变更的元素数量,即新增+score更新的元素数量。
        INCR 行为与ZINCRBY一致,只操作一对score和val
    score范围
        使用64bit的double表示score,可接受整数范围+/-2^53.
    sorted set维持score正序,即从小到大。相同val不会重复存在,只会更新score。
    具有相同score的元素,针对元素使用字典正序进行排序

ZREM

    ZREM key member [member ...]
    O(M*log(N)) N:set中元素数量,M:删除元素数量
    返回已删除元素数量,元素不存在则忽略。

ZREMRANGEBYLEX

    ZREMRANGEBYLEX key minVal maxVal
    O(M*log(N)) N:set中元素数量,M:删除元素数量
    当所有元素的score相同时,强制针对val使用字典排序,删除val位于min max之间的元素。若score不相同,请不要使用。
    返回本次删除的元素数量
    举例
        redis> ZRANGE myzset 0 -1
1) "ALPHA"
 2) "aaaa"
 3) "alpha"
 4) "b"
 5) "c"
 6) "d"
 7) "e"
 8) "foo"
 9) &#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值