目录
- 引出
- redis数据类型及对应的数据结构
- Redis入门
- 1.Redis是什么?
- 2.Redis里面存Java对象
- Redis进阶
- 1.雪崩/ 击穿 / 穿透
- 2.Redis高可用-主从+哨兵
- 3.持久化RDB和AOF
- 4.Redis未授权访问漏洞
- 5.Redis里面安装BloomFilte
- Redis的应用
- 1.验证码
- 2.Redis高并发抢购
- 3.缓存预热用户注册+验证码
- 4.Redis和MySQL数据一致性
- 5.用户登陆布隆过滤器
- 总结
引出
Redis冲冲冲——redis数据类型及对应的数据结构
redis数据类型及对应的数据结构
redis中数据类型分别介绍一下,以及对应的数据结构和应用场景?
在Redis中,常见的八种数据类型包括字符串(String)、列表(List)、哈希(Hash)、集合(Set)、有序集合(Sorted Set)、位图(Bitmap)、HyperLogLog、地理位置(GEO)等。以下是每种数据类型的简要介绍、对应的数据结构以及应用场景:
- 字符串(String):
- 数据结构:Redis使用简单动态字符串(SDS)来表示字符串数据。
- 应用场景:存储字符串类型的数据,如缓存数据、计数器、用户会话等。
- 列表(List):
- 数据结构:Redis使用双向链表来表示列表数据。
- 应用场景:实现消息队列、任务队列、最新消息排行榜等。
- 哈希(Hash):
- 数据结构:Redis使用哈希表来表示哈希数据。
- 应用场景:存储对象属性,如用户信息、文章信息等,可以方便地进行单个字段的读写操作。
- 集合(Set):
- 数据结构:Redis使用哈希表或跳表来表示集合数据。
- 应用场景:存储一组唯一的无序元素,如标签、好友关系等,可以进行交集、并集、差集等操作。
- 有序集合(Sorted Set):
- 数据结构:Redis使用跳表和哈希表来表示有序集合数据。
- 应用场景:存储一组唯一的有序元素,如排行榜、优先级队列等,可以根据分数进行排序和范围查询。
- 位图(Bitmap):
- 数据结构:Redis使用字符串来表示位图数据。
- 应用场景:存储位信息,如用户签到、活跃用户统计等,可以进行位运算和统计操作。
- HyperLogLog:
- 数据结构:Redis使用基数估算算法来实现HyperLogLog。
- 应用场景:用于进行基数估算,如统计网站UV(独立访客)等。
- 地理位置(Geospatial):
- 数据结构:Redis使用基于Z字典的跳跃列表来表示地理位置数据。
- 应用场景:存储地理位置信息,如附近的人、地点查询等,可以进行距离计算和范围查询。
Redis入门
1.Redis是什么?
Redis入门(1)——Redis是啥 & 安装Docker的Redis & Redis的基本数据类型+常用命令 & SpringBoot整合Redis初步
2.Redis里面存Java对象
Redis应用(8)——Redis的项目应用:结合SpringBoot如何在Redis里面存对象 & RedisUtil工具类的封装 & 遇到的问题
Redis进阶
1.雪崩/ 击穿 / 穿透
Redis应用(7)——Redis的项目应用(六):布隆过滤器—白名单 ----> Reids的问题,雪崩/ 击穿 / 穿透【重要】& 布隆过滤器
2.Redis高可用-主从+哨兵
Redis进阶(2)——Redis数据的持久化 & CAP分布式理论(高可用性) & Redis主从搭建 & Redis的哨兵机制
Redis进阶(3)——在Linux上基于Docker容器Redis搭建一主二从三哨兵 & SpringBoot整合Redis哨兵
华为云云耀云服务器L实例评测|初始化配置SSH连接 & 安装MySQL的docker镜像 & 安装redis以及主从搭建 & 7.2版本redis.conf配置文件
3.持久化RDB和AOF
Redis进阶(4)——结合redis.conf配置文件深入理解 Redis两种数据持久化方案:RDB和AOF
4.Redis未授权访问漏洞
认识redis未授权访问漏洞 & 漏洞的部分复现 & 设置连接密码 & redis其他命令学习
5.Redis里面安装BloomFilte
华为云云耀云服务器L实例评测|在Redis的Docker容器中安装BloomFilter & 在Spring中使用Redis插件版的布隆过滤器
Redis的应用
1.验证码
Redis应用(2)——Redis的项目应用(一):验证码 —> UUID到雪花ID & JMeter高并发测试 & 下载安装使用
2.Redis高并发抢购
Redis应用(3)——Redis的项目应用(二):抢购图书 —> Redis高并发的问题 & 分布式锁Redission的使用
Redis应用(4)——Redis的项目应用(三):抢购图书2.0 —> Lua脚本 & Redis+Lua+Redission实现抢购 & Redission锁
Redis进阶(5)——Redis数据一致性 & 用Java代码加锁解决一致性 & 采用lua脚本实现减1的原子性 & 分布式环境下的setnex锁及其问题 & Redission框架的使用
IDEA启动两个Tomcat服务的方式 & 使用nginx进行反向代理 & JMeter测试分布式情况下synchronized锁失效
3.缓存预热用户注册+验证码
Redis应用(5)——Redis的项目应用(四):缓存预热,用户注册为例 —>注册的流程 & 缓存预热的方式,quartz方式 / @Schedule方式
RabbitMQ的Docker版本安装 + 延迟插件安装 & QQ邮箱和阿里云短信验证码的主题模式发送
4.Redis和MySQL数据一致性
Redis应用(6)——Redis的项目应用(五):缓存自动更新 —>Canal管道 & MySQL配置+安装canal & 入门案例 & Canal的项目应用
基于canal缓存自动更新流程 & SpringBoot项目应用案例和源码
5.用户登陆布隆过滤器
Redis应用(7)——Redis的项目应用(六):布隆过滤器—白名单 ----> Reids的问题,雪崩/ 击穿 / 穿透【重要】& 布隆过滤器
总结
Redis冲冲冲——redis数据类型及对应的数据结构