版权声明:作者:人学物理死的早 出处:https://blog.csdn.net/weixin_39561473 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。 https://blog.csdn.net/weixin_39561473/article/details/89281335
Redis的Set是string类型的无序集合,集合成员是唯一的,即集合中不能出现重复的数据。结构和list很相似,但是不允许重复。单个值为string类型。
key | value |
key | [上海,北京,深圳,广州] |
常用操作:
1、sadd
将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将不会再加入
127.0.0.1:6379> sadd k1 1 2 3 4
(integer) 4
127.0.0.1:6379> sadd k1 1 2 3 4 5 6 #如果再加入重复的,只会添加不重复的
(integer) 2
2、smembers
获取集合 key 中的所有成员元素
127.0.0.1:6379> smembers k1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
3、sismember
判断 member 元素是否是集合 key 的成员
127.0.0.1:6379> sismember k1 2
(integer) 1
127.0.0.1:6379> sismember k1 9
(integer) 0
4、 scard
获取集合里面的元素个数
127.0.0.1:6379> scard k1
(integer) 5
5、 srem
删除集合 key 中的一个或多个 member 元素
127.0.0.1:6379> sadd k1 1 2 3 4 5 6 7
(integer) 7
127.0.0.1:6379> SMEMBERS k1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
6) "6"
7) "7"
127.0.0.1:6379> SREM k1 3
(integer) 1
127.0.0.1:6379> SMEMBERS k1
1) "1"
2) "2"
3) "4"
4) "5"
5) "6"
6) "7"
6、类型
127.0.0.1:6379> type k1
set
9、其他操作
srandmember:随机返回集合中的一个元素
(随机发放优惠卷)
127.0.0.1:6379> SRANDMEMBER k1
"6"
127.0.0.1:6379> SRANDMEMBER k1 3
1) "2"
2) "6"
3) "7"
spop:随机从集合中删除一个元素
127.0.0.1:6379> spop k1
"6"
127.0.0.1:6379> spop k1
"2"
127.0.0.1:6379> spop k1
"5"
127.0.0.1:6379> SMEMBERS k1
1) "4"
2) "7"
smove:将 member 元素从一个集合移动到另一个集合
127.0.0.1:6379> sadd k2 1 3
(integer) 2
127.0.0.1:6379> SMOVE k1 k2 7
(integer) 1
127.0.0.1:6379> SMEMBERS k2
1) "1"
2) "3"
3) "7"
127.0.0.1:6379> SMEMBERS k1
1) "4"