导航

redis set

Posted on 2013-04-05 11:42  青木2013  阅读(618)  评论(0)    收藏  举报

常用命令

添加
SADD key member [member ...] 添加一个或者多个元素到集合(set)里

SINTER key [key ...] 获得两个集合的交集
SINTERSTORE destination key [key ...] 获得两个集合的交集,并存储在一个关键的结果集

SDIFF key [key ...] 获得队列不存在的元素
SDIFFSTORE destination key [key ...] 获得队列不存在的元素,并存储在一个关键的结果集

SUNION key [key ...] 添加多个set元素
SUNIONSTORE destination key [key ...] 合并set元素,并将结果存入新的set里面

SMOVE source destination member 移动集合里面的一个key到另一个集合 删除 SPOP key 删除并获取一个集合里面的元素 SREM key member [member ...] 从集合里删除一个或多个key 查询 SCARD key 获取集合里面的元素数量 SMEMBERS key 获取集合里面的所有key SISMEMBER key member 确定一个给定的值是一个集合的成员 SRANDMEMBER key [count] 从集合里面随机获取一个key

 

sadd/smenbers 示例

redis 127.0.0.1:6379> sadd set1 aa
(integer) 1
redis 127.0.0.1:6379> sadd set1 bb
(integer) 1
redis 127.0.0.1:6379> sadd set1 aa
(integer) 0
redis 127.0.0.1:6379> smembers set1
1) "aa"
2) "bb"

sinter/sinterstore/sdiff/sdiffstore/sunion/sunionstore 示例

redis 127.0.0.1:6379> sadd set1 aa
(integer) 1
redis 127.0.0.1:6379> sadd set1 bb
(integer) 1
redis 127.0.0.1:6379> sadd set1 cc
(integer) 1
redis 127.0.0.1:6379> sadd set2 bb
(integer) 1
redis 127.0.0.1:6379> sadd set2 cc
(integer) 1
redis 127.0.0.1:6379> sadd set2 dd
(integer) 1
redis 127.0.0.1:6379> sinter set1 set2
1) "cc"
2) "bb"
redis 127.0.0.1:6379> sinterstore set3 set1 set2
(integer) 2
redis 127.0.0.1:6379> sdiff set1 set2
1) "aa"
redis 127.0.0.1:6379> sdiff set2 set1
1) "dd"
redis 127.0.0.1:6379> sdiffstore set4 set1 set2
(integer) 1
redis 127.0.0.1:6379> sunion set1 set2
1) "cc"
2) "aa"
3) "dd"
4) "bb"
redis 127.0.0.1:6379> sunionstore set5 set1 set2
(integer) 4

 smove/spop/srem 示例

redis 127.0.0.1:6379> sadd set1 aa
(integer) 1
redis 127.0.0.1:6379> sadd set1 bb
(integer) 1
redis 127.0.0.1:6379> sadd set1 cc
(integer) 1
redis 127.0.0.1:6379> sadd set1 dd
(integer) 1
redis 127.0.0.1:6379> sadd set1 ee
(integer) 1
redis 127.0.0.1:6379> smove set1 set2 bb
(integer) 1
redis 127.0.0.1:6379> smembers set1
1) "cc"
2) "aa"
3) "dd"
4) "bb"
5) "ee"
redis 127.0.0.1:6379> smembers set2
1) "bb"
redis 127.0.0.1:6379> spop set1
"dd"
redis 127.0.0.1:6379> smembers set1
1) "cc"
2) "ee"
3) "aa"
redis 127.0.0.1:6379> srem set1 aa cc
(integer) 2
redis 127.0.0.1:6379> smembers set1
1) "ee"

scard/sismember/srandmember 示例

redis 127.0.0.1:6379> sadd set1 aa
(integer) 1
redis 127.0.0.1:6379> sadd set1 bb
(integer) 1
redis 127.0.0.1:6379> sadd set1 cc
(integer) 1
redis 127.0.0.1:6379> scard set1
(integer) 3
redis 127.0.0.1:6379> sismember set1 aa
(integer) 1
redis 127.0.0.1:6379> sismember set1 dd
(integer) 0
redis 127.0.0.1:6379> srandmember set1 2
1) "cc"
2) "aa"
redis 127.0.0.1:6379> srandmember set1 2
1) "cc"
2) "bb"