• 中文
    • English
  • 注册
  • 赞助本站

    • 支付宝
    • 微信
    • QQ

    感谢一直支持本站的所有人!

    • 查看作者
    • 6-4 08-Redis的数据结构之set

      一. Set

      set特点:

      • set是没有排序字符集合

      • 和List类型不同的是,set集合中不允许出现重复的元素

      • 多个since之间的聚合、计算操作都是在服务端中进行的,能够极大节省网络开销

      • set可包含的最大元素数量是4294967295

      set使用场景:

      • set可以用于跟踪一些具有唯一性数据,比如每个用于的访问博客的ip地址就可以用Redis的set存储

      • 维护数据对象之间的关联关系,比如购买了a商品的用户ID都存入到一个set中,购买了b商品的用户ID都存入另一个商品中,如果需要查看同时购买了这两个商品的用户,只需要做交集运算就可以了

      二. Set命令

      set常用命令如下:

      • sadd:添加元素,注意,set集合的元素不允许重复

      jia:0>sadd jia a b c
      "3"
      
      jia:0>sadd jia a
      "0"
      • srem:删除元素

      jia:0>srem jia c
      "1"
      • smembers:获得集合中的元素

      jia:0>smembers jia
       1)  "a"
       2)  "b"
      • sismember:可以在集合后面添加元素名来判断该元素是否在该集合中,0代表不存在,1代表存在

      jia:0>sismember jia c
      "0"
      
      jia:0>sismember jia a
      "1"
      • sdiff:集合中的差集运算

      jia:0>sadd jia1 a b c
      "3"
      
      jia:0>sadd jia2 a c d e
      "4"
      
      jia:0>sdiff jia1 jia2
       1)  "b"
      • sinter:集合中的交集运算

      jia:0>sinter jia1 jia2
       1)  "a"
       2)  "c"
      • sunion:集合中的并集运算

      jia:0>sunion jia1 jia2
       1)  "e"
       2)  "c"
       3)  "b"
       4)  "a"
       5)  "d"
      • scard:集合中元素数量

      jia:0>scard jia1
      "3"
      • srandmember:随机返回集合中的元素:

      jia:0>srandmember jia2
      "d"
      
      jia:0>srandmember jia2
      "a"
      • sdiffstore:将两个集合的差集存储在新的集合上

      jia:0>sdiffstore jia3 jia1 jia2
      "1"
      
      jia:0>smembers jia3
       1)  "b"
      • sinterstore:将两个集合的交集存储在新的集合上

      jia:0>sinterstore jia4 jia1 jia2
      "2"
      
      jia:0>smembers jia4
       1)  "a"
       2)  "c"
      • sunionstore:将两个集合的并集存储在新的集合上

      jia:0>sunionstore jia5 jia1 jia2
      "5"
      
      jia:0>smembers jia5
       1)  "e"
       2)  "c"
       3)  "b"
       4)  "a"
       5)  "d"

      三. 总结

      set常用命令如下:

      • sadd:添加元素:

      • srem:删除元素

      • smembers:获得集合中的元素

      • sismember:可以在集合后面添加元素名来判断该元素是否在该集合中

      • sdiff:集合中的差集运算

      • sinter:集合中的交集运算

      • sunion:集合中的并集运算

      • scard:集合中元素数量

      • srandmember:随机返回集合中的元素:

      • sdiffstore:将两个集合的差集存储在新的集合上

      • sinterstore:将两个集合的交集存储在新的集合上

      • sunionstore:将两个集合的并集存储在新的集合上

      山东·日照
    • 1
    • 0
    • 0
    • 326
    • zjmarina

      请登录之后再进行评论

      登录
    • 做任务
    • 实时动态
    • 偏好设置
    • 返回顶部
    • 单栏布局 侧栏位置: