Redis的Set数据结构

01、目标
掌握set结构的常见命令

java list 和 set区别:

list: 允许添加相同元素

set: 不允许添加相同元素

02、set的常见命令
02-01、sadd 添加元素
语法:sadd key member member1 membe2…membern 给集合key中添加元素。如果添加相同元素就会自动过滤

127.0.0.1:6379> sadd users u1
(integer) 1
127.0.0.1:6379> sadd users u2
(integer) 1
127.0.0.1:6379> sadd users u3 u4 u5

02-02、smembers
smembers key 返回集合中所有的元素

127.0.0.1:6379> smembers users

  1. “u4”
  2. “u3”
  3. “u2”
  4. “u1”
  5. “u5”
    02-03、srem
    srem key member member1 member2 …membern 删除集合中的指定的元素也可以删除多个

127.0.0.1:6379> sadd users u1
(integer) 0
127.0.0.1:6379> srem users u1 u2
(integer) 2
127.0.0.1:6379> srem users u3
(integer) 1
02-04、sismember
sismember key member 查看一个元素member是否存在当前集合中

127.0.0.1:6379> sismember users u4
(integer) 1
127.0.0.1:6379> sismember users u3
(integer) 0

02-05、scard
scard key 返回集合中所有的元素

127.0.0.1:6379> scard users
(integer) 2
127.0.0.1:6379> smembers users

  1. “u4”
  2. “u5”
    02-06、smove
    smove srckey targetkey member 将srckey集合的元素member移动到targetkey集合中

127.0.0.1:6379> smove users blacklist u1
(integer) 1
127.0.0.1:6379> smove users blacklist u2
(integer) 1
127.0.0.1:6379> smembers blacklist

  1. “u2”
  2. “u1”
    127.0.0.1:6379> scard blacklist
    (integer) 2

02-07、srandmember
srandmember key 随机返回集合中的一个元素

127.0.0.1:6379> srandmember users 1

  1. “u5”
    127.0.0.1:6379> srandmember users 2
  2. “u3”
  3. “u4”
    127.0.0.1:6379> smembers users
  4. “u4”
  5. “u5”
  6. “u3”

02-08、spop
spop key 随机删除集合中的元素,并返回

127.0.0.1:6379> spop users 1

  1. “u3”
    127.0.0.1:6379> spop users 1
  2. “u4”
    127.0.0.1:6379> smembers users
  3. “u5”

02-09、sinter
sinter key key1 key2 …keyn 求多个集合的交集

127.0.0.1:6379> sadd s1 1 2 3 4 5 a
(integer) 6
127.0.0.1:6379> sadd s2 a b c 2 3 6
(integer) 6
127.0.0.1:6379> sinter s1 s2

  1. “3”
  2. “a”
  3. “2”

02-10、sinterstore
sinterstore targetkey key1 key2 …keyn 求多个集合的交集并放入到targetkey集合中

127.0.0.1:6379> sinterstore s3 s1 s2
(integer) 3
127.0.0.1:6379> smembers s3

  1. “2”
  2. “3”
  3. “a”

02-11、sunion
sunion key [key1 key2 …keyn] 求多个集合的并集

127.0.0.1:6379> sunion s1 s2

  1. “3”
  2. “a”
  3. “5”
  4. “c”
  5. “2”
  6. “1”
  7. “6”
  8. “4”
  9. “b”

02-12、sunionstore
sunionstore targetkey [key1 key2 …keyn] 求多个集合的并集并放入到targetkey集合中

127.0.0.1:6379> sunionstore s4 s1 s2
(integer) 9
127.0.0.1:6379> smembers s4

  1. “3”
  2. “a”
  3. “5”
  4. “c”
  5. “2”
  6. “1”
  7. “6”
  8. “4”
  9. “b”

02-13、sdiff
sunion key [key1 key2 …keyn] 求多个集合的差集

127.0.0.1:6379> smembers s1

  1. “3”
  2. “a”
  3. “5”
  4. “2”
  5. “1”
  6. “4”
    127.0.0.1:6379> smembers s2
  7. “3”
  8. “a”
  9. “2”
  10. “c”
  11. “6”
  12. “b”
    127.0.0.1:6379> sdiff s1 s2
  13. “1”
  14. “4”
  15. “5”
    127.0.0.1:6379> sdiff s2 s1
  16. “c”
  17. “6”
  18. “b”

02-14、sdiffstore
sdiffstore targetkey [key1 key2 …keyn] 求多个集合的差集 并放入到targetkey集合中

127.0.0.1:6379> sdiffstore s5 s2 s1
(integer) 3
127.0.0.1:6379> smembers s5

  1. “c”
  2. “6”
  3. “b”
    HTML 2774 字节 402 单词 201 行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值