Redis——》数据类型:set(集合)

本是古典 何须时尚 2024-03-31 13:16 147阅读 0赞

推荐链接:
总结——》【Java】
总结——》【Mysql】
总结——》【Redis】
总结——》【Spring】
总结——》【SpringBoot】
总结——》【MyBatis、MyBatis-Plus】

相关链接:
Redis——》数据类型
Redis——》数据类型:string(字符串)
Redis——》数据类型:hash(哈希)
Redis——》数据类型:list(列表)
Redis——》数据类型:set(集合)
Redis——》数据类型:zset(有序集合)
Redis——》数据类型:bitmap

Redis——》数据类型:set(集合)

  • 一、简介
  • 二、应用场景
  • 三、底层结构
  • 四、操作示例
    • (1)增
    • (2)删
    • (3)改
    • (4)查
    • (5)计算

一、简介

集合(set)类型是用来保存多个的字符串元素,但是不允许重复元素

二、应用场景

用户标签、生成随机数抽奖、社交需求

三、底层结构

intset(整数集合)、hashtable(哈希表)

四、操作示例

(1)增





















语法 示例 描述
sadd key member1 [member2] sadd k1 a b 向集合添加一个或多个成员
smove source destination member smove k1 k2 1 将 member 元素从 source 集合移动到 destination 集合

(2)删





















语法 示例 描述
spop key spop k1 移除并返回集合中的一个随机元素
srem key member1 [member2] srem k1 a b 移除集合中一个或多个成员

(3)改

见增

(4)查




































语法 示例 描述
scard key scard k1 获取集合的成员数
smembers key smembers k1 返回集合中的所有成员
sismember key member sismember k1 a 判断 member 元素是否是集合 key 的成员
srandmember key [count] srandmember k1 1 返回集合中一个或多个随机数
sscan key cursor [MATCH pattern] [COUNT count] 迭代集合中的元素

(5)计算









































语法 示例 描述
SDIFF key1 [key2] sdiff k1 k2 返回给定所有集合的差集
SDIFFSTORE destination key1 [key2] sdiffstore destkey k1 k2 返回给定所有集合的差集并存储在 destination 中
SINTER key1 [key2] sinter k1 k2 返回给定所有集合的交集
SINTERSTORE destination key1 [key2] sinterstore destkey k1 k2 返回给定所有集合的交集并存储在 destination 中
SUNION key1 [key2] sunion k1 k2 返回所有给定集合的并集
SUNIONSTORE destination key1 [key2] sunionstore destkey k1 k2 所有给定集合的并集存储在 destination 集合中
  1. sadd k1 tom sean peter ooxx tom
  2. smembers k1
  3. srem k1 ooxx
  4. smembers k1
  5. sadd k2 1 2 3 4 5
  6. sadd k3 4 5 6 7 8
  7. # 交集
  8. sinter k2 k3
  9. # 把交集存到目标dest中
  10. sinterstore dest k2 k3
  11. smembers dest
  12. # 并集
  13. sunion k2 k3
  14. # 把交集存到目标dest中
  15. sunionsotre dest k2 k3
  16. smembers dest
  17. # 差集,k2比k3多的元素,后边做为前边的参考
  18. sdiff k2 k3
  19. # 差集,k3比k2多的元素,后边做为前边的参考
  20. sdiff k3 k2
  21. # 存入用户:4个
  22. sadd k1 tom sean peter ooxx
  23. # 随机抽取3,人不能重复
  24. srandmember k1 3
  25. # 随机抽取3,2可以重复
  26. srandmember k1 -3
  27. # 礼物>人数,随机抽取3,人能重复
  28. srandmember k1 -20
  29. # 抽取1个
  30. spop k1

发表评论

表情:
评论列表 (有 0 条评论,147人围观)

还没有评论,来说两句吧...

相关阅读