关于 caching-strategy
面向开发者的缓存策略技能,旨在改善应用性能并减轻后端负载。内容涵盖缓存模式、失效策略以及多种实现方式。
主要功能
- 01Node.js Redis 缓存
- 02Python 缓存装饰器
- 03多级缓存
- 04缓存失效策略
- 05HTTP 缓存头
适用场景
- 01减少数据库查询负载
- 02缩短 API 响应时间
- 03缓存高成本计算结果
- 04应用分布式缓存
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill caching-strategy安装后在 Claude Code 中输入/caching-strategy确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/cache-decorator-python.mdcache-invalidation-strategies.mdhttp-caching-headers.mdmulti-level-cache.mdredis-cache-implementation-nodejs.mdscripts/validate-api.shtemplates/api-scaffold.yaml详细介绍
缓存策略
目录
概述
实施有效的缓存策略,以提升应用性能、降低延迟并减轻后端系统负载。
适用场景
- 减少数据库查询负载
- 提升 API 响应速度
- 应对高流量负载
- 缓存开销较大的计算结果
- 存储会话数据
- 集成 CDN 以缓存静态资源
- 实施分布式缓存
- 限流和节流
快速入门
最小可运行示例:
import Redis from "ioredis";
interface CacheOptions {
ttl?: number; // Time to live in seconds
prefix?: string;
}
class CacheService {
private redis: Redis;
private defaultTTL = 3600; // 1 hour
constructor(redisUrl: string) {
this.redis = new Redis(redisUrl, {
retryStrategy: (times) => {
const delay = Math.min(times * 50, 2000);
return delay;
},
maxRetriesPerRequest: 3,
});
this.redis.on("connect", () => {
console.log("Redis connected");
});
this.redis.on("error", (error) => {
// ... (see reference guides for full implementation)
参考指南
references/ 目录中的详细实现:
| 指南 | 内容 |
|---|---|
| Redis 缓存实现(Node.js) | Redis 缓存实现(Node.js) |
| 缓存装饰器(Python) | 缓存装饰器(Python) |
| 多级缓存 | 多级缓存 |
| 缓存失效策略 | 缓存失效策略 |
| HTTP 缓存标头 | HTTP 缓存标头 |
最佳实践
✅ 应该做
- 设置合适的 TTL 值
- 为关键数据实施缓存预热
- 读取时使用旁路缓存模式
- 监控缓存命中率
- 在缓存故障时实现优雅降级
- 对较大的缓存值进行压缩
- 正确设置缓存键的命名空间
- 防止缓存雪崩
- 在分布式缓存中使用一致性哈希
- 监控缓存内存使用情况
❌ 不应该做
- 不加区分地缓存所有内容
- 将缓存作为糟糕数据库设计的补救办法
- 不加密存储敏感数据
- 忽略缓存未命中的处理
- 对频繁变化的数据设置过长的 TTL
- 忽略缓存失效策略
- 缓存时不进行监控
- 不加考虑地存储大型对象
评论
支持 Markdown