caching-strategy
Implement efficient caching strategies using Redis, Memcached, CDN, and cache invalidation patterns. Use when optimizing application performance, reducing database load, or improving response times.
适合你,如果应用响应慢、数据库负载高,需要引入缓存方案
npx oh-my-skill add aj-geddes/useful-ai-prompts/caching-strategycurl -fsSL https://oh-my-skill.com/install.sh | bash -s -- aj-geddes/useful-ai-prompts/caching-strategynpx oh-my-skill verify aj-geddes/useful-ai-prompts/caching-strategy怎么用
商店整理自技能原文 · 版本 3f5182c · 表述以原文为准安装后,Claude 能帮你用 Redis、Memcached、CDN 等工具实现缓存策略,提升应用性能、减少数据库负载和延迟。
当你要求优化性能、减少数据库查询负载、改善 API 响应时间,或实现缓存相关功能时触发。
技能原文 SKILL.md
Caching Strategy
Table of Contents
- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)
Overview
Implement effective caching strategies to improve application performance, reduce latency, and decrease load on backend systems.
When to Use
- Reducing database query load
- Improving API response times
- Handling high traffic loads
- Caching expensive computations
- Storing session data
- CDN integration for static assets
- Implementing distributed caching
- Rate limiting and throttling
Quick Start
Minimal working example:
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)
Reference Guides
Detailed implementations in the references/ directory:
| Guide | Contents | |---|---| | [Redis Cache Implementation (Node.js)](references/redis-cache-implementation-nodejs.md) | Redis Cache Implementation (Node.js) | | [Cache Decorator (Python)](references/cache-decorator-python.md) | Cache Decorator (Python) | | [Multi-Level Cache](references/multi-level-cache.md) | Multi-Level Cache | | [Cache Invalidation Strategies](references/cache-invalidation-strategies.md) | Cache Invalidation Strategies | | [HTTP Caching Headers](references/http-caching-headers.md) | HTTP Caching Headers |
Best Practices
✅ DO
- Set appropriate TTL values
- Implement cache warming for critical data
- Use cache-aside pattern for reads
- Monitor cache hit rates
- Implement graceful degradation on cache failure
- Use compression for large cached values
- Namespace cache keys properly
- Implement cache stampede prevention
- Use consistent hashing for distributed caching
- Monitor cache memory usage
❌ DON'T
- Cache everything indiscriminately
- Use caching as a fix for poor database design
- Store sensitive data without encryption
- Forget to handle cache misses
- Set TTL too long for frequently changing data
- Ignore cache invalidation strategies
- Cache without monitoring
- Store large objects without consideration