Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
redis set命令
1.向集合添加一个或多个成员 SADD key member1 [member2]
127.0.0.1:6379[2]> sadd name aaa bbb ccc
(integer) 3
2.获取集合的成员数 SCARD key
127.0.0.1:6379[2]> scard name
(integer) 3
3.返回给定所有集合的差集 SDIFF key1 [key2]
127.0.0.1:6379[2]> sdiff name name1
1) "ccc"
127.0.0.1:6379[2]> sdiff name1 name
1) "eee"
2) "ddd"
4.返回给定所有集合的差集并存储在 destination 中 SDIFFSTORE destination key1 [key2]
127.0.0.1:6379[2]> sdiffstore name2 name1 name
(integer) 2
127.0.0.1:6379[2]> smembers name2
1) "eee"
2) "ddd"
5.返回给定所有集合的交集 SINTER key1 [key2]
127.0.0.1:6379[2]> sinter name name1
1) "bbb"
2) "aaa"
6.返回给定所有集合的交集并存储在 destination 中 SINTERSTORE destination key1 [key2]
127.0.0.1:6379[2]> sinterstore name3 name name1
(integer) 2
127.0.0.1:6379[2]> smembers name3
1) "bbb"
2) "aaa"
7.返回集合中的所有成员 SMEMBERS key
127.0.0.1:6379[2]> smembers name2
1) "eee"
2) "ddd"
8.判断 member 元素是否是集合 key 的成员 SISMEMBER key member
127.0.0.1:6379[2]> sismember name aaa
(integer) 1 --存在
127.0.0.1:6379[2]> sismember name fff
(integer) 0 --不存在
9.将 member 元素从 source 集合移动到 destination 集合 SMOVE source destination member
127.0.0.1:6379[2]> smove name name2 aaa
(integer) 1 --成功将aaa从name移到name2
10.移除并返回集合中的一个随机元素 SPOP key
127.0.0.1:6379[2]> spop name
"ccc" --随机移除了ccc
11.返回集合中一个或多个随机数 SRANDMEMBER key [count]
127.0.0.1:6379[2]> srandmember name1 2
1) "aaa"
2) "ddd"
127.0.0.1:6379[2]> srandmember name1 3
1) "eee"
2) "bbb"
3) "aaa"
12. 移除集合中一个或多个成员 SREM key member1 [member2]
127.0.0.1:6379[2]> srem name1 aaa bbb
(integer) 2
13. 返回所有给定集合的并集 SUNION key1 [key2]
127.0.0.1:6379[2]> sunion name name1
1) "eee"
2) "bbb"
3) "ddd"
14.所有给定集合的并集存储在 destination 集合中 SUNIONSTORE destination key1 [key2]
127.0.0.1:6379[2]> sunionstore name5 name name1
(integer) 3
127.0.0.1:6379[2]> smembers name5
1) "eee"
2) "bbb"
3) "ddd"
15. 迭代集合中的元素 SSCAN key cursor [MATCH pattern] [COUNT count]
127.0.0.1:6379[2]> sadd myset hello
(integer) 1
127.0.0.1:6379[2]> sadd myset hi
(integer) 1
127.0.0.1:6379[2]> sadd myset have
(integer) 1
127.0.0.1:6379[2]> sadd myset integer
(integer) 1
127.0.0.1:6379[2]> sscan myset 0 match h*
1) "0"
2) 1) "have"
2) "hi"
3) "hello"
831

被折叠的 条评论
为什么被折叠?



