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