集合的特点是 无序且各不相同的元素
1. sadd : 将一个或多个元素添加到集合里面,并返回不存在原集合中的元素数量
2. smembers : 返回集合包含的所有元素
3. sismember : 查看某个元素是否存在于集合中
4. scard : 返回集合中的元素的数量
5. srem : 从集合里面删除一个或多个元素,并返回被删除的元素的数量
6. srandmember : 随机返回集合中的一个元素或多个元素,当count为正数时,返回的随机元素不会重复,当count为负数时,命令返回的随机元素可能会出现重复。
如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。
如果 count 大于等于集合基数,那么返回整个集合。如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。
该操作和 SPOP 相似,但 SPOP 将随机元素从集合中移除并返回,而 Srandmember 则仅仅返回随机元素,而不对集合进行任何改动
7. spop : 随机的删除集合中的一个元素,并返回被删除的元素
8. smove :从一个集合中移动到另外一个集合中,成功则返回1,否则返回0
9. sdiff : 返回那些存在第一个集合、但不存在第二个集合中的元素,而不对集合进行任何改动
10. sdiffstore : 这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中。而不对集合进行任何改动
11. sinter : 返回两个集合的交集,而不对集合进行任何改动
12. sinterstore : 这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中,而不对集合进行任何改动
13. sunion : 返回两个集合的并集,而不对集合进行任何改动
14. sunionstore : 这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中,而不对集合进行任何改动
- # 1. sadd : 将一个或多个元素添加到集合里面,并返回不存在原集合中的元素数量
- 127.0.0.1:6379> sadd myset1 csdn
- 1
- 127.0.0.1:6379> sadd myset1 stackoverflow github gitee juejin oschina google
- 6
-
- # 2. smembers : 返回集合包含的所有元素
- 127.0.0.1:6379> smembers myset1
- gitee
- github
- csdn
- stackoverflow
- juejin
- google
- oschina
-
- # 3. sismember : 查看某个元素是否存在于集合中,返回1代表存在,返回0代表不存在
- 127.0.0.1:6379> sismember myset1 gitee
- 1
- 127.0.0.1:6379> sismember myset1 youtube
- 0
-
- # 4. scard : 返回集合中的元素的数量
- 127.0.0.1:6379> scard myset1
- 7
-
- # 5. srem : 从集合里面删除一个或多个元素,并返回被删除的元素的数量
- 127.0.0.1:6379> srem myset1 stackoverflow
- 1
- 127.0.0.1:6379> srem myset1 youtube
- 0
-
- # 6. srandmember : 随机返回集合中的一个元素或多个元素,当count为正数时,返回的随机元素不会重复,当count为负数时,命令返回的随机元素可能会出现重复
- 127.0.0.1:6379> srandmember myset1 3
- juejin
- gitee
- github
- 127.0.0.1:6379> srandmember myset1 3
- juejin
- github
- google
- 127.0.0.1:6379> srandmember myset1 3
- github
- oschina
- google
- 127.0.0.1:6379> srandmember myset1 3
- juejin
- gitee
- oschina
- 127.0.0.1:6379> scard myset1
- 6
- 127.0.0.1:6379> srandmember myset1 6
- csdn
- github
- gitee
- juejin
- google
- oschina
- 127.0.0.1:6379> srandmember myset1 7
- csdn
- github
- gitee
- juejin
- google
- oschina
-
- # 7. spop : 随机的删除集合中的一个元素或几个元素,并返回被删除的元素
- 格式: spop key_name count
- 127.0.0.1:6379> spop myset1 2
- google
- github
- 127.0.0.1:6379> smembers myset1
- csdn
- gitee
- juejin
- oschina
-
- # 8. smove :从一个集合中移动到另外一个集合中,成功则返回1,否则返回0
- # 首先判断某个元素是否在集合中
- 127.0.0.1:6379> sismember myset1 csdn
- 1
- # 从myset1移动某个元素到myset2
- 127.0.0.1:6379> smove myset1 myset2 csdn
- 1
- # 查看myset1的所有元素
- 127.0.0.1:6379> smembers myset1
- gitee
- juejin
- oschina
- # 查看myset2的所有元素
- 127.0.0.1:6379> smembers myset2
- csdn
-
- # 9. sdiff : 返回那些存在第一个集合、但不存在第二个集合中的元素,数学上的差集操作,
- 127.0.0.1:6379> smembers myset1
- github
- gitee
- juejin
- google
- oschina
- 127.0.0.1:6379> smembers myset2
- csdn
- github
- google
- 127.0.0.1:6379> sdiff myset1 myset2
- juejin
- gitee
- oschina
-
- # 10. sdiffstore : 这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中。
- # myresult是保存结果的集合
- 127.0.0.1:6379> sdiffstore myresult myset1 myset2
- 3
- 127.0.0.1:6379> smembers myresult
- juejin
- gitee
- oschina
- 127.0.0.1:6379> smembers myset1
- github
- gitee
- juejin
- google
- oschina
- 127.0.0.1:6379> smembers myset2
- csdn
- github
- google
-
- # 11. sinter : 返回两个集合的交集
- # 12. sinterstore : 这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中。
- 127.0.0.1:6379> sinter myset1 myset2
- github
- google
- 127.0.0.1:6379> sinterstore myresult myset1 myset2
- 2
- 127.0.0.1:6379> smembers myresult
- github
- google
- 127.0.0.1:6379> smembers myset1
- github
- gitee
- juejin
- google
- oschina
- 127.0.0.1:6379> smembers myset2
- csdn
- github
- google
-
- # 13. sunion : 返回两个集合的并集
- # 14. sunionstore : 这个命令和上个命令相似,只是在于将结果进行存储到一个新的键中。
- 127.0.0.1:6379> sunion myset1 myset2
- csdn
- github
- gitee
- juejin
- google
- oschina
- 127.0.0.1:6379> sunionstore myresult myset1 myset2
- 6
- 127.0.0.1:6379> smembers myresult
- csdn
- github
- gitee
- juejin
- google
- oschina
- 127.0.0.1:6379> smembers myset1
- github
- gitee
- juejin
- google
- oschina
- 127.0.0.1:6379> smembers myset2
- csdn
- github
- google

