基于 Java SSH 老项目、数据量大、查询慢、尽量少改动的现状,如果加入 Redis,可以从哪些场景切入:
1. 高频读取、低频更新的数据
-
场景示例:
-
商品信息、用户基础资料(每日读取百万次,每周更新一次)。
-
配置参数(如系统开关、页面文案)。
-
-
Redis 优势:
- 通过内存存储避免热点数据拖垮 Oracle。,降低 I/O 压力。
2. 热点数据缓存
-
场景示例:
-
首页推荐内容、实时排行榜(集中访问某几个表或字段)。
-
短时间内被大量重复查询的订单状态或日志。
-
-
Redis 优势:
- 通过内存存储避免热点数据拖垮 Oracle。
3. 会话(Session)管理
-
场景示例:
- 用户登录状态存储(尤其是分布式环境下)。
-
Redis 优势:
- 替代 Tomcat 默认 Session 存储,解决集群会话同步问题。
4. 复杂计算结果的缓存
-
场景示例:
-
统计报表结果(如每日销售额汇总)。
-
多表关联查询的聚合结果(如用户行为分析)。
-
-
Redis 优势:
- 避免重复执行复杂 SQL,直接返回预计算结果。
5. 分布式锁与限流控制
-
场景示例:
-
秒杀活动的库存扣减(避免超卖)。
-
API 接口的限流(如每分钟 1000 次调用)。
-
-
Redis 优势:
- 轻量级实现分布式协调,替代 Oracle 行锁的开销。