本网站可以通过分类标签帮助你快速筛选出你想看的文章,记住地址:www.Facec.cc

redis Set和Zset命令汇总

Set 集合

  • sadd key member1 [member2]
    向集合添加一个或多个成员

  • smembers key
    返回集合中的所有成员

redis 127.0.0.1:6379> SADD myset1 "hello"
(integer) 1
redis 127.0.0.1:6379> SADD myset1 "world"
(integer) 1
redis 127.0.0.1:6379> SMEMBERS myset1
1) "World"
2) "Hello"
  • sdiff key1 [key2]
    返回第一个集合与其他集合之间的差异。

  • sdiffstore des key1 [key2]
    返回给定所有集合的差集并存储在 des 中

# myset "hello" "foo" "bar"
# myset2 "hello" "world"

redis 127.0.0.1:6379> sdiffstore destset myset myset2
(integer) 2
redis 127.0.0.1:6379> smembers destset
1) "foo"
2) "bar"

  • sinter key1 [key2]
    返回给定所有集合的交集

  • sinterstore des key1 [key2]
    返回给定所有集合的交集并存储在 des 集合中

  • sunion key1 [key2]
    返回所有给定集合的并集

  • sunionstore des key1 [key2]
    所有给定集合的并集存储在 des 集合中


  • sismember key member
    判断 member 元素是否是集合 key 的成员
redis 127.0.0.1:6379> SADD myset1 "hello"
(integer) 1
redis 127.0.0.1:6379> SISMEMBER myset1 "hello"
(integer) 1
redis 127.0.0.1:6379> SISMEMBER myset1 "world"
(integer) 0
  • smove source destination member
    将 member 元素从 source 集合移动到 destination 集合
# myset1 "hello" "world"
# myset2 "foo"
redis 127.0.0.1:6379> smove myset1 myset2 "bar"
(integer) 1
redis 127.0.0.1:6379> smembers myset1
1) "World"
2) "Hello"
redis 127.0.0.1:6379> smembers myset2
1) "foo"
2) "bar"
  • spop key [count]
    移出并返回集合中的count个随机元素

  • srem key member1 [member2....]
    移除集合中的一个或多个成员元素,不存在的成员元素会被忽略

ZSet 有序集合

  • zadd key score1 member1 [score2 member2]
    向有序集合添加一个或多个成员,或者更新已存在成员的分数(根据score排序)

  • zcard key
    获取有序集合的成员数

  • zcount key min max
    计算在有序集合中指定区间分数的成员数

  • zlexcount key min max
    在有序集合中计算指定字典区间内成员数量

redis 127.0.0.1:6379> zadd myzset 0 a 0 b 0 c 0 d 0 e
(integer) 5
redis 127.0.0.1:6379> zadd myzset 0 f 0 g
(integer) 2
redis 127.0.0.1:6379> zlexcount myzset - +
(integer) 7
redis 127.0.0.1:6379> zlexcount myzset [b [f
(integer) 5
  • ZRANGE key start stop [WITHSCORES]
    返回有序集中,指定区间(start,stop)内的成员
    若加上WITHSCORES, 是指输出结果中, 带上score
    image.png
# redis  

评论