【redis教程】5、redis支持的五种数据类型之Set

redis支持的set数据类型与hash存储结构完全一致,不过set仅存储键,不存键值(nil),重要的特点就是存储的值是不重复的。
在这里插入图片描述

set类型数据的基本操作

添加数据
sadd key member1 [member2]
在这里插入图片描述
获取全部数据
smembers key

删除数据
srem key member1 [member2]
在这里插入图片描述

set类型数据的扩展操作

随机获取集合中的数据
srandmember key [count]
在这里插入图片描述
随机删除
spop key

两个集合的交集、并集、差集
sinter key1 [key2]
sunion key1 [key2]
sdiff key1 [key2]

求两个集合的交、并、差集并存储到指定集合中
sinterstore 目标集合 key1 key2

set类型数据的应用场景

实现权限校验

  • 业务场景
    在这里插入图片描述

  • 解决方案
    利用set集合的不重复性,获取用户所有的角色以及所有的权限。
    比如说id为001的用户有role1和role2两种角色,通过求交集就可以知道这种角色共同的操作权限,求并集可以知道所有的操作权限。
    在这里插入图片描述
    上面求的是交集,下面求并集就可以得到用户所有的权限:
    在这里插入图片描述
    到这里我就可以把权限数据提供给调用者,让调用者在业务层中去校验权限。

发布了28 篇原创文章 · 获赞 1 · 访问量 1858

猜你喜欢

转载自blog.csdn.net/m0_46130323/article/details/104261995
今日推荐