server cache lru
本地来源:Knowledge/World/项目/Practice/Claude-Skills/vercel-react-best-practices/rules/server-cache-lru.md
title: Cross-Request LRU Caching impact: HIGH impactDescription: caches across requests tags: server, cache, lru, cross-request
Cross-Request LRU Caching
React.cache() only works within one request. For data shared across sequential requests (user clicks button A then button B), use an LRU cache.
Implementation:
import { LRUCache } from 'lru-cache'
const cache = new LRUCache<string, any>({
max: 1000,
ttl: 5 * 60 * 1000 // 5 minutes
})
export async function getUser(id: string) {
const cached = cache.get(id)
if (cached) return cached
const user = await db.user.findUnique({ where: { id } })
cache.set(id, user)
return user
}
// Request 1: DB query, result cached
// Request 2: cache hit, no DB query
Use when sequential user actions hit multiple endpoints needing the same data within seconds.
With Vercel's Fluid Compute: LRU caching is especially effective because multiple concurrent requests can share the same function instance and cache. This means the cache persists across requests without needing external storage like Redis.
In traditional serverless: Each invocation runs in isolation, so consider Redis for cross-process caching.
Reference: https://github.com/isaacs/node-lru-cache
本文档为站内渲染。原始文件本地路径:saas/source/knowledge-world/Knowledge-World-项目-Practice-Claude-Skills-vercel-react-best--c120c4.md(仅本地保留,不入库不部署)