Adds caching to expensive operations - Redis, in-memory, HTTP cache headers
Target: $1 (or analyze top bottlenecks if not specified)
grep -rn "db\.\|prisma\.\|fetch\|axios" ${1:-src/} --include="*.ts" | grep -v "test\|spec" | head -20
What's cacheable?
What's NOT cacheable?
Choose caching layer by use case:
Map): single instance, fastest, lost on restartCache-Control: browser/CDN caching for GET responsesImplement with proper cache keys:
const cacheKey = `user:${userId}:profile`
const cached = await redis.get(cacheKey)
if (cached) return JSON.parse(cached)
const result = await db.user.findUnique(...)
await redis.set(cacheKey, JSON.stringify(result), 'EX', 300) // 5min TTL
Add cache invalidation on mutations.
Show estimated performance improvement.