Skip to content

cache

约 345 字大约 1 分钟

BigPeng大鹏采用四层混合缓存架构,根据数据特征选择最优缓存技术,实现极致性能与成本平衡。

缓存架构图

应用层

L1 本地缓存层 (Moka + JWT Token Cache)
    ↓ (缓存未命中)
L2 分布式缓存层 (DragonflyDB)
    ↓ (缓存未命中)
L3 数据库层 (MySQL)
    ↓ (写入)
L4 持久化存储层 (RocksDB)

缓存策略选择流程

数据特征缓存方案适用场景
极高频率访问,无需跨服务共享L1 本地缓存JWT Token
极高频率访问,需要跨服务共享L2 分布式缓存在线用户、验证码
高频率访问,数据量小L1 + L2字典、配置、菜单
需要持久化L4 RocksDB操作日志、登录日志
低频率访问不缓存分页列表

缓存层级详情

缓存层级技术方案延迟QPS适用场景
L1Moka 本地缓存100ns无限字典、用户、菜单、配置
L2DragonflyDB0.2-0.3ms30W+在线用户、验证码、Token
L3MySQL10ms10K+持久化存储
L4RocksDB100μs1M+操作日志、统计数据

DragonflyDB 核心优势

  • ⚡ QPS 30W+(比 Redis 快 2.5x)
  • 🚀 延迟 0.2ms(比 Redis 低 50%)
  • 💾 内存效率提升 30%
  • 🔧 100% 兼容 Redis(零迁移成本)

缓存命中率

  • 字典/配置: 99%+
  • 用户信息: 95%+
  • Token 验证: 98%+
  • 整体: 95%+