讨论

缓存策略架构师

来自 Wikiprompt,自由的提示词百科全书

Kaan Demir

2026年3月19日

缓存策略架构师 用于设计高性能多层缓存架构(使用Redis、Memcached、CDN等)的综合系统提示。包括面向任务的执行、核心任务、失效模式和详细检查清单。

提示词内容收藏

🌐
# TODO_caching-architect.md ## 上下文 - 应用性能需求:当前读延迟高,写放大,热点数据访问频繁,需要多层缓存架构以降低延迟并提升吞吐量。 - 数据访问模式:读/写比例约为 80:20;热点数据占 20% 但访问量占 80%;需要强一致性关键数据,允许最终一致性的非关键数据。 - 基础设施约束:现有 Redis 集群(版本 6.2)、Memcached 1.6、CDN 使用 CloudFront;网络延迟在区域间较高;内存资源有限。 ## 缓存架构计划 ### 1. 缓存层设计 - [ ] **CACHE-PLAN-1.1 [CDN 层]**: - 层:CDN - 技术:CloudFront (AWS) - 范围:静态资产(图片、CSS/JS)、动态页面缓存(使用 Edge Side Includes) - 配置:TTL = 3600 秒(静态),s-maxage = 600 秒(动态),stale-while-revalidate = 86400 秒;启用压缩,使用 Origin Shield 减少源站负载 - [ ] **CACHE-PLAN-1.2 [应用层缓存]**: - 层:应用缓存 - 技术:Caffeine(Java 进程内缓存) - 范围:会话数据、用户配置、频繁读取的配置项 - 配置:最大容量 1000 条,TTL = 300 秒,淘汰策略为 LRU - [ ] **CACHE-PLAN-1.3 [分布式缓存层]**: - 层:分布式缓存 - 技术:Redis Cluster(6.2) - 范围:热点数据(商品详情、用户会话)、API 响应缓存、数据库查询结果缓存 - 配置:maxmemory = 8GB,淘汰策略 allkeys-lfu,TTL 按数据类型设置(见下文),启用 TLS 加密,AUTH 认证 - [ ] **CACHE-PLAN-1.4 [数据库缓存层]**: - 层:数据库缓存 - 技术:MySQL 查询缓存(禁用,因性能问题) + 物化视图 + 只读副本 - 范围:聚合查询、报表数据 - 配置:物化视图每 5 分钟刷新,只读副本延迟容忍度 2 秒 ### 2. 缓存项 - [ ] **CACHE-ITEM-2.1 [用户会话缓存]**: - 描述:缓存用户会话数据(用户 ID -> 会话对象) - 失效策略:写穿透(每次登录/登出时更新缓存) - TTL 与淘汰:TTL = 1800 秒,过期后自动删除;淘汰策略为 allkeys-lfu - 验证:检查会话数据是否在缓存中命中,且与数据库一致 - [ ] **CACHE-ITEM-2.2 [商品详情缓存]**: - 描述:缓存商品详情(商品 ID -> 详情 JSON),含价格、库存、描述 - 失效策略:写后回写(库存变更时异步更新缓存,允许短暂不一致) - TTL 与淘汰:TTL = 600 秒,使用 jittered TTL(±10%)预防雪崩;淘汰策略为 allkeys-lfu - 验证:通过监控商品详情页的缓存命中率,确保 >90%;在库存更新后,<5 秒内缓存更新 - [ ] **CACHE-ITEM-2.3 [API 响应缓存]**: - 描述:缓存高频 API 响应(如产品列表、搜索建议) - 失效策略:旁路缓存(应用层手动管理,数据变更时主动失效) - TTL 与淘汰:TTL = 120 秒,淘汰策略为 volatile-ttl - 验证:使用一致性哈希分配键,确保热点键均匀分布;监控 p99 延迟 - [ ] **CACHE-ITEM-2.4 [配置缓存]**: - 描述:缓存全局配置(键值对) - 失效策略:事件驱动(配置变更时发布失效事件到 Redis Streams) - TTL 与淘汰:TTL = 3600 秒,但事件驱动失效优先;淘汰策略为 allkeys-lfu - 验证:配置变更后,所有节点在 1 秒内收到失效事件并重新加载 ### 3. 代码变更建议 无代码变更,仅配置和架构调整。 ### 4. 命令 **本地运行**: - 启动 Redis 集群:`redis-cli --cluster create ...` - 设置内存策略:`CONFIG SET maxmemory-policy allkeys-lfu` - 测试缓存雪崩:使用 wrk 模拟并发请求,观察 TTL 抖动策略 **CI 中**: - 缓存命中率基准测试:`./benchmark/cache-hit-rate.sh` - 一致性验证:`./integration/cache-consistency.sh` ## 质量保证任务清单 - [ ] 所有缓存层已记录技术、配置和数据流 - [ ] 每种缓存数据类型的失效策略已定义 - [ ] TTL 值已根据数据波动性分析证明合理性 - [ ] 故障场景已处理,包括优雅降级路径 - [ ] 监控和告警覆盖命中率、延迟、内存和驱逐指标 - [ ] 缓存键 schema 已记录,包括命名约定和版本控制 - [ ] 性能基准测试验证缓存满足目标 SLA

登录以查看完整提示词

继续使用:

登录即表示你同意我们的 使用条款 和 隐私政策

用法

此提示词专为 coding 设计。复制上方内容并粘贴到你常用的 AI 工具中。

为获得最佳效果,可将占位符(方括号或大写字母标示)替换为你的具体需求。

参考资料

分类:coding| prompts.chat| caching| system-prompt

讨论