Redis--Set结构及其应用场景
发布日期:2021-05-15 20:57:53 浏览次数:21 分类:精选文章

本文共 789 字,大约阅读时间需要 2 分钟。

在这里插入图片描述

前言

集合(set)类型也是用来保存多个 字符串元素,但和列表类型不一样的是,集合中 不允许有重复元素,

并且集合中的元素是无序的, 不能通过索引下标 获取元素。

Set数据结构

Set应用场景

在这里插入图片描述

  • 微信抽奖小程序

    如下:用户18888,18889,18890参与抽奖用set命令SADD key userId,用SMEMBERS key可以查看参与抽奖的所有用户,
    SRANDMENBER act:1008 2 在所有参与抽奖的用户中随机抽取两个,
    SRANDMENBER act:1008 1 在所有参与抽奖的用户中随机抽取一个并在集合中删除
    在这里插入图片描述

  • 微信微博点赞,收藏,标签

    在这里插入图片描述

Set集合操作

  • SINTER set1,set2,set3 :取set1,set2,set3的交集,如下图集合set1,set2,set3都包含元素{c},那么{c}就是set1,set2,set3的交集
  • SUNION set1,set2,set3:取set1,set2,set3的并集
  • SDIFF set1,set2,set3:取set1,set2,set3的差集,即set1减去set2和set3的并集,如下图集合set1包含元素{a,b,c}集合set2+set3的并集为{b,c,d,e},那么他们的差集就是{a,b,c}-{b,c,d,e}={a}
    在这里插入图片描述
  • 集合操作实现微博微信关注模型
    在这里插入图片描述
    共同关注:求交集
    我关注的人也关注他(杨过老师)
    SISMEMBER simaSet yangguo:判断yangguo是否存在于simaSet
    SISMEMBER lubanSet yangguo:判断yangguo是否存在于lubanSet
    我可能认识的人:求差集
    SDIF yangguoSet zhugeSet 取yangguoSet和zhugeSet的差集
    即yangguo关注的那些zhuge没有关注过的人
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
上一篇:Redis高并发分布式锁详解
下一篇:Redis--Hash&List介绍和使用场景

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月14日 09时51分09秒