技术开发 频道

Redis详解:sets数据类型及操作

  7、sinterstore

  返回所有给定key的交集,并将结果存为另一个key

  redis 127.0.0.1:6379> smembers myset2

  
1) "three"

  
2) "two"

  redis
127.0.0.1:6379> smembers myset3

  
1) "two"

  
2) "one"

  redis
127.0.0.1:6379> sinterstore myset5 myset2 myset3

  (integer)
1

  redis
127.0.0.1:6379> smembers myset5

  
1) "two"

  redis
127.0.0.1:6379>

  通过本例的结果可以看出, myset2和myset3的交集被保存到myset5中了

  8、sunion

  返回所有给定key的并集

  redis 127.0.0.1:6379> smembers myset2

  
1) "three"

  
2) "two"

  redis
127.0.0.1:6379> smembers myset3

  
1) "two"

  
2) "one"

  redis
127.0.0.1:6379> sunion myset2 myset3

  
1) "three"

  
2) "one"

  
3) "two"

  redis
127.0.0.1:6379>

  通过本例的结果可以看出, myset2和myset3的并集被查出来了

  9、sunionstore

  返回所有给定key的并集,并将结果存为另一个key

  redis 127.0.0.1:6379> smembers myset2

  
1) "three"

  
2) "two"

  redis
127.0.0.1:6379> smembers myset3

  
1) "two"

  
2) "one"

  redis
127.0.0.1:6379> sunionstore myset6 myset2 myset3

  (integer)
3

  redis
127.0.0.1:6379> smembers myset6

  
1) "three"

  
2) "one"

  
3) "two"

  redis
127.0.0.1:6379>

  通过本例的结果可以看出, myset2和myset3的并集被保存到myset6中了

  10、smove

  从第一个key对应的set中移除member并添加到第二个对应set中

  redis 127.0.0.1:6379> smembers myset2

  
1) "three"

  
2) "two"

  redis
127.0.0.1:6379> smembers myset3

  
1) "two"

  
2) "one"

  redis
127.0.0.1:6379> smove myset2 myset7 three

  (integer)
1

  redis
127.0.0.1:6379> smembers myset7

  
1) "three"

  redis
127.0.0.1:6379>

  通过本例可以看到,myset2的three被移到myset7中了

  11、scard

  返回名称为key的set的元素个数

  redis 127.0.0.1:6379> scard myset2

  (integer)
1

  redis
127.0.0.1:6379>

  通过本例可以看到,myset2的成员数量为1

  12、sismember

  测试member是否是名称为key的set的元素

  redis 127.0.0.1:6379> smembers myset2

  
1) "two"

  redis
127.0.0.1:6379> sismember myset2 two

  (integer)
1

  redis
127.0.0.1:6379> sismember myset2 one

  (integer)
0

  redis
127.0.0.1:6379>

  通过本例可以看到,two是myset2的成员,而one不是。

  13、srandmember

  随机返回名称为key的set的一个元素,但是不删除元素

  redis 127.0.0.1:6379> smembers myset3

  
1) "two"

  
2) "one"

  redis
127.0.0.1:6379> srandmember myset3

  
"two"

  redis
127.0.0.1:6379> srandmember myset3

  
"one"

  redis
127.0.0.1:6379>
0
相关文章