zoukankan      html  css  js  c++  java
  • Redis Set和ZSet常用命令

    Redis Set和ZSet常用命令

    Set

    1. SADD :添加多个元素到集合中
    127.0.0.1:6379> sadd goodfood "potato" "tomato" "apple"
    (integer) 3
    
    2. SMOVE 命令:移动集合元素到另一个集合中
    smove source destination member
    
    3. SUNIONSTORE 命令:保存多个集合元素到新集合中
    127.0.0.1:6379> sunionstore foods goodfood
    (integer) 3
    
    4. SISMEMBER 命令:判断某个元素是否在集合中
    5. SCARD 命令:获取集合中元素的数量
    6. SMEMBERS 命令:获取集合中的所有元素
    7. SRANDMEMBER 命令:随机获取集合中的一个元素
    8. SUNION 命令:获取多个集合中的所有元素
    127.0.0.1:6379> sunionstore foods goodfood
    (integer) 3
    127.0.0.1:6379> sismember foods "apple"
    (integer) 1
    127.0.0.1:6379> scard foods
    (integer) 3
    127.0.0.1:6379> smembers foods
    1) "apple"
    2) "tomato"
    3) "potato"
    127.0.0.1:6379> srandmember foods
    "apple"
    127.0.0.1:6379> srandmember foods 2
    1) "apple"
    2) "potato"
    127.0.0.1:6379> sunion foods goodfood
    1) "apple"
    2) "tomato"
    3) "potato"
    
    9. SDIFF 命令:获取多个集合元素的差集
    127.0.0.1:6379> sdiff foods goodfood
    (empty list or set)
    
    10. SDIFFSTORE 命令:获取多个集合差集的元素个数(返回新集合difffood)
    127.0.0.1:6379> sdiffstore difffood foods goodfood
    (integer) 0
    
    11. SINTER 命令:获取多个集合元素的交集
    127.0.0.1:6379> sinter foods goodfood
    1) "apple"
    2) "tomato"
    3) "potato"
    
    12. SINTERSTORE 命令:获取多个集合交集的元素个数(返回新集合newfood)
    127.0.0.1:6379> sinterstore newfood foods goodfood
    (integer) 3
    
    13. SPOP 命令:随机删除集合中的元素
    14. SREM 命令:删除集合中的多个元素
    127.0.0.1:6379> spop foods
    "potato"
    127.0.0.1:6379> srem foods "apple"
    (integer) 1
    

    ZSet

    1. ZADD : 添加多个元素到有序集合中
    127.0.0.1:6379> zadd city:gdp 95 "beijing" 99.5 "shanghai" 98 "guangzhou"
    (integer) 3
    
    2. ZINCRBY 命令:为分数值加上增量
    127.0.0.1:6379> zincrby city:gdp 3 "beijing"
    "98"
    
    3. ZCARD 命令:获取有序集合中的元素数量
    4. ZCOUNT 命令:获取在分数区间内的元素数量
    127.0.0.1:6379> zcard city:gdp
    (integer) 3
    127.0.0.1:6379> zcount city:gdp 99 100
    (integer) 1
    
    5. ZLEXCOUNT 命令:获取在指定区间内的元素数量

    ZLEXCOUNT 命令用于获取有序集合 key 中介于 min 和 max 范围内的元素数量,这个有序集合 key 中的所有元素的 score 值都相等。

    参数 min 和 max 是一个区间,区间一般使用「(」或「[」表示,其中,「(」表示开区间,「(」指定的值不会被包含在范围之内;「[」表示闭区间,「[」指定的值会被包含在范围之内。另外,特殊值 + 和-在参数 min 和 max 中具有特殊含义,其中,+ 表示正无穷,-表示负无穷。我们向一个元素分数相同的有序集合发送命令 ZLEXCOUNT<zset>-+,将会返回这个有序集合中的所有元素。

    6. ZRANGE 命令:获取在指定区间内的元素(升序)
    127.0.0.1:6379> zrange city:gdp 0 -1
    1) "beijing"
    2) "guangzhou"
    3) "shanghai"
    
    7. ZREVRANGE 命令:获取在指定区间内的元素(降序)
    8. ZSCORE 命令:获取元素的分数值
    127.0.0.1:6379> zscore city:gdp "beijing"
    "98"
    
    9. ZRANGEBYLEX 命令:获取集合在指定范围内的元素

    ZRANGEBYLEX 命令用于返回有序集合 key 中,元素 score 值介于 min 和 max 之间的元素,这个有序集合 key 中的所有元素具有相同的 score 值,它们按照字典序排序。如果有序集合 key 中的元素对应的 score 值不同,则在执行该命令后,返回的结果是未指定的(unspecified)。

    可选的 LIMIT offset count 参数用于获取指定范围内的匹配元素。此时,需要注意,如果 offset 参数的值非常大,那么该命令在返回结果之前,需要先遍历到 offset 所指定的位置。

    参数 min 和 max 是一个区间,区间一般使用「(」或「[」表示,其中,「(」表示开区间,「(」指定的值不会被包含在范围之内;「[」表示闭区间,「[」指定的值会被包含在范围之内。另外,特殊值 + 和-在参数 min 和 max 中具有特殊含义,其中,+ 表示正无穷,-表示负无穷。我们向一个元素分数相同的有序集合发送命令 ZRANGEBYLEX<zset>-+,将会返回这个有序集合中的所有元素。

    10. ZRANGEBYSCORE 命令:获取在指定分数区间内的元素
    127.0.0.1:6379> ZRANGEBYSCORE  city:gdp 0 100
    1) "beijing"
    2) "guangzhou"
    3) "shanghai"
    
    11. ZREVRANGEBYSCORE 命令:获取在指定区间内的所有元素

    RANGEBYSCORE 命令用于返回有序集合 key 中,所有 score 值介于 min 和 max 之间(包含等于 min 和 max)的元素。有序集合 key 中的元素按照 score 值从小到大的顺序排序。当你不知道 min 和 max 参数的具体值时,可以使用-inf 来表示 min 值,使用 +inf 来表示 max 值。在默认情况下,min 与 max 区间是闭区间(小于等于或大于等于),也可以在参数前面添加「(」符号来使用可选的开区间(小于或大于)。

    当具有相同 score 值的元素时,有序集合元素会按照字典序排序。

    使用 WITHSCORES 选项来返回元素的 score 值。

    可选的 LIMIT offset count 参数用于获取指定范围内的匹配元素。如果 offset 参数的值非常大,那么该命令在返回结果之前,需要先遍历到 offset 所指定的位置。

    12. ZRANK 命令:获取有序集合元素的排名
    13. ZREVRANK 命令:获取有序集合元素的倒序排名
    127.0.0.1:6379> zrank city:gdp "shanghai"
    (integer) 2
    
    14. ZINTERSTORE 命令:保存多个有序集合的交集
    15. ZUNIONSTORE 命令:保存多个有序集合的并集
    16.ZREM 命令:删除有序集合中的多个元素
    127.0.0.1:6379> zrem city:gdp "shanghai"
    (integer) 1
    
    17.ZREMRANGEBYLEX 命令:删除有序集合在指定区间内的元素
    18. ZREMRANGEBYRANK 命令:删除有序集合在指定排名区间内的元素
    19. ZREMRANGEBYSCORE 命令:删除有序集合在指定分数区间内的元素
  • 相关阅读:
    HDU 6071
    HDU 6073
    HDU 2124 Repair the Wall(贪心)
    HDU 2037 今年暑假不AC(贪心)
    HDU 1257 最少拦截系统(贪心)
    HDU 1789 Doing Homework again(贪心)
    HDU 1009 FatMouse' Trade(贪心)
    HDU 2216 Game III(BFS)
    HDU 1509 Windows Message Queue(队列)
    HDU 1081 To The Max(动态规划)
  • 原文地址:https://www.cnblogs.com/undefined22/p/12566219.html
Copyright © 2011-2022 走看看