Redis中的Set集合

Set

文章目录

  • Set
    • 常用的命令
      • sadd
      • smembers
      • sismemder
      • srem
      • scard
      • srandmember
      • spop
      • smove
    • 4.2 集合运算
      • sdiff
      • sunion
      • sinter
      • sintercard

常用的命令

Set特点:单值多value,value值不能重复

命令 作用
sadd key member 添加
smembers key 遍历集合中的所有元素
sismember key member 判断元素是否在集合中
srem key member 删除元素
scard key 获取元素集合里面的元素个数
srandmember key [数字] 从集合中随机展现设置的数字个数元素,元素不删除
spop key [数字] 从集合中随机弹出一个元素,出一个删一个
smove key1 key2 [ 在key1里以存在的某个值 ] 将key1里以存在的某个值赋给key2

sadd

自动带着去重复

127.0.0.1:6379> sadd set1 1 1 1 2 2 3 4 5
(integer) 5
127.0.0.1:6379> smembers set1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"

smembers

遍历set集合中的元素

127.0.0.1:6379> smembers set1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"

sismemder

判断某一个元素是否在set集合中

127.0.0.1:6379> sismember set1 0
(integer) 0
127.0.0.1:6379> sismember set1 1
(integer) 1

srem

删除set集合中某一个元素,删除有的返回1,删除没有的返回0

127.0.0.1:6379> srem set1 y
(integer) 0
127.0.0.1:6379> srem set1 1
(integer) 1
127.0.0.1:6379> smembers set1
1) "2"
2) "3"
3) "4"
4) "5"

scard

统计set集合中有多少个元素

127.0.0.1:6379> scard set1
(integer) 4

srandmember

从集合中随机展现设置的数字个数元素

127.0.0.1:6379> srandmember set1 2
1) "4"
2) "2"
127.0.0.1:6379> smembers set1
1) "2"
2) "3"
3) "4"
4) "5"

spop

从集合中随机弹出一个元素,出一个删一个

127.0.0.1:6379> spop set1 2
1) "5"
2) "3"
127.0.0.1:6379> smembers set1
1) "2"
2) "4"

smove

将key1以存在的某个值赋给key2

127.0.0.1:6379> smove set1 set2 2
(integer) 1
127.0.0.1:6379> smembers set1
1) "4"
127.0.0.1:6379> smembers set2
1) "b"
2) "a"
3) "2"
4) "c"

4.2 集合运算

命令 作用
sdiff set1 set2 属于set1但是不属于set2的元素构成的集合
sunion set1 set2 合并
sinter key1 key2 属于set1或者属于set2的交集合并后的集合
sintercard numkeys key [key…] [LIME] 它不返回结果集,而值返回结果都基数,返回有给定集合的交集合产生的集合的基数

sdiff

属于set1但是不属于set2的元素构成的集合

127.0.0.1:6379> sadd set1 a b c 1 2
(integer) 5
127.0.0.1:6379> sadd set2 1 2 3 a x
(integer) 5
127.0.0.1:6379> sdiff set1 set2
1) "b"
2) "c"

sunion

合并

127.0.0.1:6379> sunion set1 set2
1) "a"
2) "3"
3) "2"
4) "b"
5) "x"
6) "1"
7) "c"

sinter

127.0.0.1:6379> sinter set1 set2
1) "a"
2) "1"
3) "2"

sintercard

它不返回结果集,而值返回结果都基数,返回有指定集合的交集合产生的集合的基数

127.0.0.1:6379> sintercard 2 set1 set2
(integer) 3

你可能感兴趣的:(redis,java,数据库)