Redis学习框架

第一层:基础能力层

  1. Redis 核心运行机制
    ○ 单线程模型: 单线程串行执行命令,避免了大量锁竞争。
    ○ I/O 多路复用: 通过 epoll/kqueue/select机制,Redis 能同时监听和处理大量客户端操作。
    ○ 内存模型: 在内存中使用了高效的数据结构来存储数据。(字符串、哈希、列表、集合、有序集)。
    ○ 内存访问优势: 在内存中读写数据,避免了频繁磁盘 I/O,因此具备极低延迟和高吞吐能力。
  2. Redis 服务配置:网络与访问控制、认证与权限、内存分配与淘汰策略、过期删除策略、数据持久化
  3. 数据类型与命令体系:数据类型、数据结构、命令集基础/Bitmap/HyperLog/Geo/Stream/PubSub
  4. 原子能力与并发控制
    ○ MULTI / EXEC:把事务中的命令按顺序一次性执行,执行期间不会被其他客户端命令插入。
    ○ WATCH:乐观锁控制,如果其他客户端修改了监视的 key ,那么当前事务的 EXEC 会失败。
    ○ Lua 脚本: Lua 脚本会在 Redis 中作为一个整体原子执行。
    ○ Pipeline: 把多条命令一次性发送给 Redis,减少网络往返次数,但它本身不保证事务原子性。
  5. 基础风险与治理概念
    ○ 大 Key:指存储了过多数据的键,其读写操作耗时长,容易拖慢整体性能。
    ○ 热 Key:指在短时间内被极高频率并发访问的键,可能导致单点负载过重甚至系统崩溃。
    ○ 内存碎片:指内存分配与释放后产生的不连续、无法被有效利用的小块空闲内存空间。
    ○ 阻塞命令:指执行耗时较长或需要等待资源的Redis命令,会阻塞后续所有命令的处理。

第二层:开发接入层

  1. 客户端工具体系
    ○ RedisTemplate:通用型 Redis 操作模板,适用于基本数据类型操作,但配置与序列化繁琐。
    ○ StringRedisTemplate:RedisTemplate<String, String>, 适用于String key/value
    ○ Redisson:基于 Redis 的高级功能客户端,包括分布式锁、布隆过滤器、限流器等增强能力。
    ○ Lettuce:Redis 的现代高性能 Java 客户端,更适合高并发和复杂生产环境。
  2. 序列化与数据转换
    ○ Key 序列化:键 Key 如何被编码,通常只会用 String序列化。
    ○ Value 序列化:值 Value 如何被编码,采用 JSON/JDK/自定义序列化方式。
    ○ 自定义序列化: 如果追求高性能的话,就会自定义序列化。
  3. 连接管理:连接池配置、最大连接数、最小空闲连接、超时重试策略、连接复用、阻塞与非阻塞通信
  4. Redis 能力接入:Pipeline 的使用、Lua 脚本执行方式、事务命令封装调用、批处理与网络优化
  5. 工程接入规范:Key 命名规范、统一缓存工具封装、统一异常处理、统一日志规范、缓存操作模板设计

第三层:业务方案层

  1. 数据一致性方案:先删缓存再更新数据库、先更新数据库再删缓存、延迟双删、旁路缓存一致性控制
  2. 缓存异常防御
    ○ 存在问题:缓存穿透、缓存击穿、缓存雪崩
    ○ 解决方案:布隆过滤器、空值缓存、随机过期时间、热点 Key 处理、缓存预热
  3. 并发控制方案:分布式锁、幂等控制、秒杀库存扣减、Lua 原子扣减、并发读写控制、重复提交防护
  4. 流量控制与系统保护:限流、熔断、降级、接口保护、请求削峰、后端保护
  5. 高并发场景演练:缓存穿透演练、热点 Key 演练、秒杀场景演练、库存一致性演练、锁失效与超时演练

第四层:高可用与分布式架构层

  1. 主从复制 + 哨兵架构
    ○ 高可用基础架构:主从复制、读写分离、复制延迟、主从切换窗口、故障转移
    ○ 哨兵高可用机制:哨兵模式、主观下线、客观下线、领导者选举、自动故障转移、配置刷新
  2. Cluster 架构
    ○ 基本概念:Redis Cluster、数据分片、Hash Slot、Gossip 协议、去中心化路由、节点扩缩容
    ○ 路由与重定向:MOVED / ASK 重定向原理、槽位定位、请求转发、客户端重试、集群重平衡
    ○ 多 Key 跨槽:跨槽问题、Hash Tag、同槽路由设计、批量操作限制、事务/Lua 的约束
    ○ 扩展能力:数据分片、水平扩容、多主并行处理、读扩展、写扩展、集群负载分担
  3. 集群模式客户端适配
    ○ SpringBoot 整合 主从复制 + 哨兵架构
    ○ SpringBoot 整合 Cluster 集群

第五层:治理与运维层

性能与运行状态监控 :QPS/OPS 监控、命中率分析、连接数监控、连接堆积分析、主从延迟监控

内存治理与容量规划 :内存监控与碎片分析、内存容量评估、分片规划

命令执行风险治理 :阻塞命令治理、慢日志分析

持久化与可靠性评估:持久化风险分析(RDB 风险、AOF 重写风险)、数据丢失窗口分析、恢复时间评估

相关推荐
吕源林2 小时前
PHP源码能否在Chromebook上运行_ChromeOS硬件限制说明【解答】
jvm·数据库·python
pele2 小时前
c++如何读取YAML格式配置文件_yaml-cpp库快速入门【详解】
jvm·数据库·python
weixin_580614002 小时前
CSS如何处理颜色在不同浏览器的兼容性_利用特性查询适配色彩
jvm·数据库·python
2501_914245932 小时前
Go语言如何遍历字符串_Go语言字符串遍历方法教程【指南】
jvm·数据库·python
BullSmall2 小时前
Oracle 自动分区表(Interval Partition)详解
数据库·oracle
Shorasul2 小时前
SQL事务隔离级别详解_隔离级别差异对比
jvm·数据库·python
2301_815279522 小时前
如何让 Bootstrap 图标在 Vue 3 中持续旋转动画
jvm·数据库·python
2401_837163892 小时前
Layui怎么在表格标题栏中嵌入一个迷你的HTML搜索表单
jvm·数据库·python
qq_372906932 小时前
Alembic 多分支迁移中依赖顺序的正确配置方法
jvm·数据库·python