redis: Set集合类型(五)

Set里面的值是不能重复的

Set设置值(头部):sadd myset hello

Set获取值:smembers myset

检查Set是否包含某个元素:sismember myset hello

127.0.0.1:6379> sadd myset hello #给myset添加元素
(integer) 1
127.0.0.1:6379> sadd myset world
(integer) 1
127.0.0.1:6379> smembers myset #获取myset的元素
1) "world"
2) "hello"
127.0.0.1:6379> sismember myset hello
(integer) 1

查看Set包含的元素个数:scard myset

127.0.0.1:6379> smembers myset
1) "world"
2) "hello"
127.0.0.1:6379> scard myset #查看myset包含的元素个数
(integer) 2

移除Set中某个元素:srem myset hello

127.0.0.1:6379> smembers myset
1) "world"
2) "hello"
127.0.0.1:6379> srem myset hello #从myset中移除hello元素
(integer) 1
127.0.0.1:6379> smembers myset
1) "world"

随机抽取Set中的元素:srandmember myset

127.0.0.1:6379> smembers myset
1) "lenovo"
2) "sanxing"
3) "iphone"
4) "htc"
127.0.0.1:6379> srandmember myset 
"htc"
127.0.0.1:6379> srandmember myset #随机抽取一个元素
"htc"
127.0.0.1:6379> srandmember myset
"sanxing"
127.0.0.1:6379> srandmember myset
"lenovo"
127.0.0.1:6379> srandmember myset
"htc"
127.0.0.1:6379> srandmember myset
"htc"
127.0.0.1:6379> srandmember myset
"iphone"
127.0.0.1:6379> srandmember myset 2 #随机抽取指定数量的元素
1) "sanxing"
2) "lenovo"

随机删除Set中的元素:spop myset

127.0.0.1:6379> smembers myset
1) "lenovo"
2) "sanxing"
3) "iphone"
4) "htc"
127.0.0.1:6379> spop myset #随机删除一个元素
"htc"
127.0.0.1:6379> spop myset #随机删除一个元素
"sanxing"
127.0.0.1:6379> smembers myset
1) "lenovo"
2) "iphone"

将指定元素从一个Set集合移动到另一个Set集合:smove myset otherset iphone

127.0.0.1:6379> smembers myset
1) "lenovo"
2) "iphone"
127.0.0.1:6379> smove myset otherset iphone #把iphone元素从myset移动到otherset集合中
(integer) 1
127.0.0.1:6379> smembers myset
1) "lenovo"
127.0.0.1:6379> smembers otherset
1) "iphone"

差集:sdiff k1 k2
交集:sinter k1 k2
并集:sunion k1 k2

127.0.0.1:6379> smembers k1
1) "c"
2) "a"
3) "b"
127.0.0.1:6379> smembers k2
1) "d"
2) "c"
3) "e"
127.0.0.1:6379> sdiff k1 k2 #查看k1对比k2集合的差集 
1) "a"
2) "b"
127.0.0.1:6379> sinter k1 k2 #查看k1与k2集合的交集 比如:查看共同好友
1) "c"
127.0.0.1:6379> sunion k1 k2 #查看k1与k2集合的并集
1) "b"
2) "c"
3) "a"
4) "d"
5) "e"

猜你喜欢

转载自www.cnblogs.com/applesnt/p/12642300.html