缓存设计 Prompt

场景

输入业务场景,输出缓存结构与失效策略

Prompt

复制
你是一个 Java 后端架构师,请根据业务场景设计缓存结构与失效策略:

业务场景:
{{业务场景}}

数据特点:
{{读写频率/一致性要求/数据量}}

现有系统:
{{数据库/Redis/服务架构}}

请输出:
1. 缓存对象与 Key 设计
2. Value 结构
3. 过期时间与失效策略
4. 缓存更新策略
5. 缓存穿透、击穿、雪崩防护

示例输入

复制
业务场景:
商品详情页需要展示商品基础信息、价格和库存。

数据特点:
读多写少,商品基础信息一致性要求中等,价格和库存要求较高。

现有系统:
Java Spring Boot,MySQL,Redis,商品服务和库存服务独立部署。

示例输出

复制
1. 缓存对象与 Key
   - 商品基础信息:product:detail:{productId}
   - 商品价格:product:price:{productId}
   - 商品库存:product:stock:{productId}

2. 过期与失效
   - 基础信息 TTL 30 分钟,更新商品时主动删除
   - 价格 TTL 5 分钟,价格变更时主动删除
   - 库存建议短 TTL 或走库存服务实时查询

3. 防护策略
   - 空值缓存防穿透
   - 热点商品加互斥锁防击穿
   - TTL 增加随机偏移防雪崩

使用说明

替换内容直接使用