Redis(8)五大数据类型之set集合

set集合

set集合中的元素是无序不重复的。

1.添加set元素与查看set元素:sadd 与smembers

127.0.0.1:6379> sadd myset liuqing love you
(integer) 3
127.0.0.1:6379> smembers myset
1) "you"
2) "love"
3) "liuqing"

2.寻找指定的值与查看set集合长度:sismember 与 scard

127.0.0.1:6379> sismember myset you
(integer) 1  #存在返回1
127.0.0.1:6379> sismember myset aaa
(integer) 0  #不存在返回0
127.0.0.1:6379> scard myset
(integer) 3 #长度为3

3.移除指定的值,随机获取值和随机移除:srem,srandmember与spop

127.0.0.1:6379> srem myset liuqing 
(integer) 1
127.0.0.1:6379> smembers myset
1) "you"
2) "love"
127.0.0.1:6379> SRANDMEMBER myset
"love"
127.0.0.1:6379> SRANDMEMBER myset
"you"
127.0.0.1:6379> SRANDMEMBER myset
"you"
127.0.0.1:6379> spop myset 
"you"
127.0.0.1:6379> spop myset
"love"

4.将一个set集合中的一个元素移动到另外一个set集合中:smove

127.0.0.1:6379> sadd myset liuqing love you baby
(integer) 4
127.0.0.1:6379> sadd set2 aaa  bbb  ccc
(integer) 3
127.0.0.1:6379> smove myset set2 liuqing #将myset集合中的“liuqing”元素移动到 set2中
(integer) 1
127.0.0.1:6379> smembers myset
1) "you"
2) "love"
3) "baby"
127.0.0.1:6379> smembers set2
1) "aaa"
2) "bbb"
3) "liuqing"
4) "ccc"

5.两个集合的交集 并集 和差集 :sinter sunion 和 sdiff

127.0.0.1:6379> sdiff myset set2 #差集:myset有并且set2没有元素
1) "love"
2) "you"
3) "baby"
127.0.0.1:6379> sinter myset set2 #交集:两个都有
1) "liuqing"
127.0.0.1:6379> sunion myset set2#并集:同时有
1) "aaa"
2) "bbb"
3) "you"
4) "liuqing"
5) "love"
6) "ccc"
7) "baby"


版权声明:本文为OVO_LQ_Start原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。