zoukankan      html  css  js  c++  java
  • Redis常用命令--SortedSet

    SortedSet是一个类似于Set的集合数据类型,里面的每个字符串元素都关联到一个score(整数或浮点数),并且总是通过score来进行排序着。

    并且可以取得一定范围内的元素。

    在Redis中大概有21个用来操作SortedSet的命令。

    ZADD key [NX|XX] [CH] [INCR] score member [score member ...]:将一个或多个member元素及其socre值加入到有序集key中。时间复杂度为O(M*log(N)), N 是有序集的基数, M 为成功添加的新成员的数量。

    ZCARD key:获取一个排序的集合中的成员数量,时间复杂度O(1)。

    ZCOUNT key min max:返回score范围内的成员数量。

    ZINCRBY key increment member:为有序集key中的member成员的score增加increment,时间复杂度O(log(N))。

    127.0.0.1:6379> zadd za 10 za10
    (integer) 1
    127.0.0.1:6379> zadd za 20 za20 30 za30 40 za40
    (integer) 3
    127.0.0.1:6379> zcard za
    (integer) 4
    127.0.0.1:6379> zcount za 20 40
    (integer) 3
    127.0.0.1:6379> zincrby za 10 za10
    "20"
    127.0.0.1:6379>

    ZRANK key member:返回成员member在排序集合成员的索引。

    ZSCORE key member:返回成员在排序设置相关的score

    ZRANGE key start stop [WITHSCORES]:根据指定的index返回,返回sorted set的成员列表。

    ZREM key member [member ...]:从排序的集合中删除一个或多个成员

    ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]:返回有序集合中指定分数区间内的成员,分数由低到高排序。

    ZREVRANGE key start stop [WITHSCORES]:在排序的设置返回的成员范围,通过索引,下令从分数高到低

    ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]:返回有序集合中指定分数区间内的成员,分数由高到低排序。

    ZREVRANK key member:确定指数在排序集的成员,下令从分数高到低

    ZREMRANGEBYRANK key start stop:在排序设置的所有成员在给定的索引中删除

    ZREMRANGEBYSCORE key min max:删除一个排序的设置在给定的分数所有成员

    127.0.0.1:6379> zcard za
    (integer) 4
    127.0.0.1:6379> zrank za za20
    (integer) 1
    127.0.0.1:6379> zscore za za20
    "20"
    127.0.0.1:6379> zrange za 2 -1
    1) "za30"
    2) "za40"
    127.0.0.1:6379> zrangebyscore za 20 30
    1) "za10"
    2) "za20"
    3) "za30"
    127.0.0.1:6379> zrem za za30
    (integer) 1
    127.0.0.1:6379> ZREVRANGE za 2 4
    1) "za10"
    127.0.0.1:6379> ZREVRANGE za 1 3
    1) "za20"
    2) "za10"
    127.0.0.1:6379> zcount za 1  5
    (integer) 0
    127.0.0.1:6379> zcount za 10  50
    (integer) 3
    127.0.0.1:6379> zcard za
    (integer) 3
    127.0.0.1:6379> zrevrank za za20
    (integer) 1
    127.0.0.1:6379> zremrangebyrank za 1 3
    (integer) 2
    127.0.0.1:6379> zcard za
    (integer) 1
    127.0.0.1:6379> zrange za  0 5
    1) "za10"
    127.0.0.1:6379> zremrangebyscore za 10 20
    (integer) 1
    127.0.0.1:6379>

    ZLEXCOUNT key min max:对于所有score都一样的集合,返回介于min和max之间的成员数量。

    ZRANGEBYLEX key min max [LIMIT offset count]:对于所有score都一样的集合,返回指定成员区间内的成员,按字典正序排列, 分数必须相同。

    如何指定范围区间:合法的min和max参数必须包含'('或'[','('表示开区间(指定的值不会被包含在范围内)。'['表示闭区间(指定的值会被包围在内)。

    特殊值+和-在min和max参数中具有特殊的意义。其中+表示正无限,-表示负无限。

    ZREVRANGEBYLEX key max min [LIMIT offset count]:返回指定成员区间内的成员,按字典倒序排列, 分数必须相同。

    ZREMRANGEBYLEX key min max:对于一个score都相同的集合key,删除位于min和max之间所有成员。

    ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]:将多个排序集的交集保存到destination集合中,其中numkeys指定key的数量。新的score是给定集合中成员score的和。

    ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]:添加多个排序集和导致排序的设置存储在一个新的关键

    ZSCAN key cursor [MATCH pattern] [COUNT count]:迭代sorted sets里面的元素

  • 相关阅读:
    报错:Failed to create BuildConfig class
    emulator control无法使用问题
    the import android cannot be resolved
    报错:init: Could not find wglGetExtensionsStringARB!
    Android SDK升级后报错error when loading the sdk 发现了元素 d:skin 开头无效内容
    Eclipse Android环境搭建
    android中导入低版本project可能会遇到的编译问题(转自: Victor@Beijing)
    22.9
    GIT文档
    机器学习的几个问题探讨
  • 原文地址:https://www.cnblogs.com/zerotomax/p/7496397.html
Copyright © 2011-2022 走看看