Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
实例
127.0.0.1:6379> sadd setname redis
(integer) 1
127.0.0.1:6379> sadd setname mongodb
(integer) 1
127.0.0.1:6379> sadd setname mysql
(integer) 1
127.0.0.1:6379> smembers setname
1) "mysql"
2) "mongodb"
3) "redis"
在尝试将一个元素添加到集合的时候 , 命令返回 1 表示这个元素被成功地添加到了集合里面 , 而返回 0 则表示这个元素已经存在于集合中 。
Redis 集合命令
1、SADD key member1 [member2] 向集合添加一个或多个成员
127.0.0.1:6379> sadd runoob mysql hadoop java
(integer) 3
127.0.0.1:6379> smembers runoob
1) "java"
2) "mysql"
3) "hadoop"
2、SCARD key 获取集合的成员数
127.0.0.1:6379> scard runoob
(integer) 3
3、SDIFF key1 [key2] 返回给定所有集合的差集
127.0.0.1:6379> sadd oob hbase hadoop hive
(integer) 3
127.0.0.1:6379> sdiff runoob oob
1) "mysql"
2) "java"
4、SDIFFSTORE destination key1 [key2] 返回给定所有集合的差集并存储在 destination 中
127.0.0.1:6379> sdiffstore runoo runoob oob
(integer) 2
127.0.0.1:6379> smembers runoo
1) "mysql"
2) "java"
5、SINTER key1 [key2] 返回给定所有集合的交集
127.0.0.1:6379> sinter runoob oob
1) "hadoop"
6、SINTERSTORE destination key1 [key2] 返回给定所有集合的交集并存储在 destination 中
127.0.0.1:6379> sinterstore oo runoob oob
(integer) 1
127.0.0.1:6379> smembers oo
1) "hadoop"
7、SISMEMBER key member 判断 member 元素是否是集合 key 的成员,有的话返回1,没有的话返回0
127.0.0.1:6379> sismember runoob hadoop
(integer) 1
127.0.0.1:6379> sismember runoob scala
(integer) 0
8、SMEMBERS key 返回集合中的所有成员
127.0.0.1:6379> smembers runoob
1) "java"
2) "mysql"
3) "hadoop"
9、SMOVE source destination member 将 member 元素从 source 集合移动到 destination 集合
127.0.0.1:6379> smembers runoob
1) "java"
2) "mysql"
3) "hadoop"
127.0.0.1:6379> smembers oo
1) "hadoop"
127.0.0.1:6379> smove runoob oo mysql
(integer) 1
127.0.0.1:6379> smembers oo
1) "mysql"
2) "hadoop"
127.0.0.1:6379> smembers runoob
1) "java"
2) "hadoop"
10、SPOP key 移除并返回集合中的一个随机元素
127.0.0.1:6379> spop runoob
"java"
127.0.0.1:6379> spop oo 2 后面的数字表示移除多少个
1) "mysql"
2) "hadoop"
11、SRANDMEMBER key [count] 返回集合中一个或多个随机数
127.0.0.1:6379> srandmember runoob
"hadoop"
12、SREM key member1 [member2] 移除集合中一个或多个成员
127.0.0.1:6379> srem runoob hadoop
(integer) 1
13、SUNION key1 [key2] 返回所有给定集合的并集
127.0.0.1:6379> smembers runoo
1) "mysql"
2) "java"
127.0.0.1:6379> smembers oob
1) "hadoop"
2) "hive"
3) "hbase"
127.0.0.1:6379> sunion runoo oob
1) "java"
2) "mysql"
3) "hadoop"
4) "hive"
5) "hbase"
14、SUNIONSTORE destination key1 [key2] 所有给定集合的并集存储在 destination 集合中
127.0.0.1:6379> sunionstore un runoo oob
(integer) 5
127.0.0.1:6379> smembers un
1) "java"
2) "mysql"
3) "hadoop"
4) "hive"
5) "hbase"