Redis学习笔记(六)Redis数据存储类型之set

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis学习笔记(六)Redis数据存储类型之set

Set


基本操作


(1)添加数据 sadd key member1 member2…


(2)获取全部数据 smembers key


(3)删除数据


srem key member1 member2…


(4) 获取集合数据总量scard key


(5)判断集合中是否包含指定数据 sismember key member


(6)获取全部数据 smembers key


(7) 求两个集合的交,并,差集 sinter key1 key2


sunion key1 key2


sdiff key1 kry2


(8)求两个集合的交,并,差集并存储到指定集合中


sinterstore destionation key1 key2


sunionstore destionation key1 key2


sdiffstore destionation kry1 key2


(9)把指定数据从原始集合中移动到目标集合中 smove source destionation member


应用场景实例:


1.随机推送内容,增加用户留存度


将用户已经很感兴趣的方面抽走,之后推送用户未曾关注方面的热点信息,大体结构如下:


sadd news n1


sadd news n2


sadd news n3


sadd news n4


spop news 2


srandmember news 2


2.一个用户有多个角色,每个角色又有多种权限,查询某用户的所有权限,判断该用户是否享有该权限。


大体结构如下:


//添加角色权限信息


sadd rid:001 insert


sadd rid:001 update


sadd rid:002 getall


sadd rid:002 insert


sadd rid:002 delete


//将某用户的所有角色操作进行合并


sunionstore user:001 rid:001 rid:002


//查看某用户是否具有该项操作权限


smembers user:001


sismember user:001 insert


3.记录网站的访问量PV,独立访问UV,独立IP


PV:网站被访问次数,可通过刷新页面提高


UV:网站被不同用户访问,课通过cookie统计访问量,相同用户切换IP地址不变


IP:网站被不同IP地址访问的总次数,可通过IP地址统计访问量,相同IP不同用户访问,IP不变


PV可以直接通过String的incr进行实现


UV大体结构如下:


sadd cookie 4444


sadd cookie 4445


sadd cookie 4446


scard cookie


IP大体结构如下:


sadd ips 1.2.3.4


sadd ips 2.3.3.4


sadd ips 2.36.58.1


scard ips


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4月前
|
存储 缓存 Java
干翻Mybatis源码系列之第八篇:Mybatis二级缓存的创建和存储
干翻Mybatis源码系列之第八篇:Mybatis二级缓存的创建和存储
|
4月前
|
SQL 缓存 Java
如何判断mybatis 开启二级缓存 和二级缓存详细讲解
如何判断mybatis 开启二级缓存 和二级缓存详细讲解
50 0
|
4月前
|
缓存 Java 数据库连接
MyBatis一级缓存详细讲解
MyBatis一级缓存详细讲解
50 0
|
1月前
|
SQL Java 关系型数据库
MyBatisPlus学习笔记(SpringBoot版)
MyBatisPlus学习笔记(SpringBoot版)
98 0
|
3月前
|
SQL 缓存 Java
一文彻底搞懂Mybatis系列(十五)之MyBatis二级缓存
一文彻底搞懂Mybatis系列(十五)之MyBatis二级缓存
186 0
|
3月前
|
SQL 缓存 Java
一文彻底搞懂Mybatis系列(十四)之MyBatis一级缓存
一文彻底搞懂Mybatis系列(十四)之MyBatis一级缓存
|
4月前
|
存储 设计模式 Java
Mybatis源码细节探究:二级缓存Cache对象是在什么时候创建的?
Mybatis源码细节探究:二级缓存Cache对象是在什么时候创建的?
|
4月前
|
缓存 Java 数据库连接
SpringBoot整合MyBatis注解版并开启二级缓存
SpringBoot整合MyBatis注解版并开启二级缓存
77 1
|
4月前
|
SQL 缓存 Java
Mybatis二级缓存创建过程与使用详解
Mybatis二级缓存创建过程与使用详解
40 0
|
4月前
|
缓存 Java 数据库连接
Mybatis中一级缓存和二级缓存使用详解
Mybatis中一级缓存和二级缓存使用详解
59 0