当前位置: 首页 > news >正文

缓存优化L1L2

public User getUser(Long id) {
// 1️⃣ 查 L1
User user = localCache.getIfPresent(id);
if (user != null) {
return user;
}

// 2️⃣ 查 L2
user = redisTemplate.opsForValue().get("user:" + id);
if (user != null) {
localCache.put(id, user);
return user;
}

// 3️⃣ 查 DB
user = userMapper.selectById(id);
if (user != null) {
redisTemplate.opsForValue().set("user:" + id, user, 30, TimeUnit.MINUTES);
localCache.put(id, user);
}

return user;
}

L1 的核心作用:

  • 减少 Redis QPS

  • 降低网络 IO

  • 热点 Key挡在 JVM 里

L1 = 加速层
L2 = 事实缓存层

✅ 非常适合 L1 的场景

  • 登录用户信息

  • 租户信息

  • 权限 / 菜单

  • 字典数据

  • 热点配置

❌ 不适合 L1 的场景

  • 强一致性(余额、库存)

  • 超大对象

  • 低频访问

L1:localCache // JVM 内存(Caffeine / Guava / Map)
L2:Redis // 分布式缓存
L3:DB // 数据库

👉 缓存失效策略

权限变更 = 缓存失效,而不是缓存更新

1️⃣ 更新数据库(最终真相)
2️⃣ 删除 Redis(L2)
3️⃣ 删除本机 L1(可选 / 本地)

@Transactional
public void updateUserPermission(Long userId, List<Role> roles) {
// 1. 更新数据库
userMapper.updateUserRoles(userId, roles);

// 2. 删除 L2(所有节点都会 miss)
redisTemplate.delete("user:" + userId);

// 3. 删除本机 L1
localCache.invalidate(userId);
}

 

2️⃣ Redis Key 要有版本意识(进阶)

"user:v1:" + id

权限模型大改时,直接升版本,全量失效

用户权限变更时:

  • ✅ 更新 DB

  • ✅ 删除 Redis

  • ✅ 本地 L1 要么删、要么靠 TTL 自愈

  • ❌ 不要主动回填多级缓存

 

 

 

 

 

http://www.jsqmd.com/news/111611/

相关文章:

  • 2025年兰州寒假伴学机构排名榜单:家长必看指南 - 2025年品牌推荐榜
  • 2025年兰州寒假伴学机构排名榜单:家长必看指南 - 2025年品牌推荐榜
  • 2025年兰州寒假伴学机构评估报告:顶尖推荐与深度分析 - 2025年品牌推荐榜
  • 兰州高考文化课怎么报名?2025年推荐 - 2025年品牌推荐榜
  • 2025年12月兰州寒假辅导机构排行Top5 - 2025年品牌推荐榜
  • 2025年兰州寒假伴学机构口碑排行榜 - 2025年品牌推荐榜
  • 兰州高考文化课集训推荐:2025年优质机构盘点 - 2025年品牌推荐榜
  • Codeforces Round 1067 (Div. 2) E Sink
  • 使用DNGuard加密并打包C# .NET Core程序为单一EXE文件
  • 强壳保护NET代码!Dnguard 4.9.4最新企业旗舰版下载地址
  • 妙妙计算1
  • Python中的super()
  • 造船行业液压系统气动高压球阀技术应用指南:螺纹式高压球阀、BKH高压球阀、RKH高压球阀、不锈钢高压球阀、卡套式高压球阀 - 优质品牌商家
  • 2025苏浙地区电商培训优质机构推荐榜实战创业与考证双支撑:天猫运营电商培训、广告平面设计电商培训、抖音运营电商培训、机械设计电商培训 - 优质品牌商家
  • 2025温州汽车行业复杂结构塑料模具优质供应商指南:塑料模具、 - 优质品牌商家
  • 12.19 - A
  • 网络编程-UDP通信
  • 2025防爆认证机构推荐榜聚焦行业需求的优质服务选择指南:防爆认证、 - 优质品牌商家
  • Day33rem简介与基本使用
  • 2025年电力系统变电站镀锌避雷塔性能深度评测报告:钢管避雷塔、镀锌避雷塔、防雷避雷塔、三柱避雷塔、单管避雷塔、圆钢避雷塔 - 优质品牌商家
  • 2025上海仓储订单处理公司推荐:云仓一件代发平台、云仓代发、仓储订单处理、仓储跨境物流、仓库托管、云仓一件代发 - 优质品牌商家
  • 2025企业高管跨国商务出行保安公司服务响应速度评测报告:保镖公司、安保公司、保安公司 - 优质品牌商家
  • 2025西南窄边门窗公司评测:断桥铝门窗、新房门窗、窄边门窗、系统门窗、老房门窗、铝合金门窗、隔音窗、隔音门窗、高端门窗 - 优质品牌商家
  • doccano服务器端部署教程(python项目)
  • 2025医药行业混合设备交钥匙工程售后服务评测报告:搅拌机优质品牌、搅拌机品牌、混合机优质品牌、混合机品牌、搅拌机、混合机 - 优质品牌商家
  • 2025广东精密钢管表面质量与规格适配性评测报告:浙江精密钢管、20CrMo精密钢管、40Cr精密钢管、42CrMo精密钢管 - 优质品牌商家
  • 12月18日日记
  • 央企程序员AI创业后续
  • 嵌入式IDE使用IAR Embedded Workbench for ARM 完整配置步骤
  • 如何免费的快速修复 Xbox 无线手柄板机不回弹的故障 All In One