mcpField
C
caching-strategy

caching-strategy

github.com/aj-geddes开发373547 次安装34 周前更新
代码仓库

关于 caching-strategy

面向开发者的缓存策略技能,旨在改善应用性能并减轻后端负载。内容涵盖缓存模式、失效策略以及多种实现方式。

主要功能

  1. 01Node.js Redis 缓存
  2. 02Python 缓存装饰器
  3. 03多级缓存
  4. 04缓存失效策略
  5. 05HTTP 缓存头

适用场景

  1. 01减少数据库查询负载
  2. 02缩短 API 响应时间
  3. 03缓存高成本计算结果
  4. 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.md
cache-invalidation-strategies.md
http-caching-headers.md
multi-level-cache.md
redis-cache-implementation-nodejs.md
scripts/
validate-api.sh
templates/
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