技能 next-cache-components
📦

next-cache-components

安全

Optimizar el Rendimiento de Next.js con Componentes de Cache

Las aplicaciones Next.js frecuentemente obtienen datos repetidamente, causando cargas de página lentas. Los Componentes de Cache permiten el Prerenderizado Parcial y estrategias de cache inteligentes para servir contenido cacheado instantáneamente mientras se transmiten partes dinámicas.

支持: Claude Codex Code(CC)
📊 71 充足
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“next-cache-components”。 How do I cache a data fetch function in Next.js 16?

预期结果:

Use the 'use cache' directive at the function level:

```tsx
async function getBlogPosts() {
'use cache'
cacheLife('hours')

const posts = await db.posts.findMany()
return posts
}
```

This caches the function result with hourly revalidation. The cache key includes the build ID, function location, and closure variables.

正在使用“next-cache-components”。 How do I invalidate cache when a product is updated?

预期结果:

Use cacheTag() to tag cached content and updateTag() or revalidateTag() to invalidate:

```tsx
// Tag during caching
async function getProduct(id: string) {
'use cache'
cacheTag('products', `product-${id}`)
return db.products.findUnique({ where: { id } })
}

// Invalidate on update
'use server'
export async function updateProduct(id: string, data: FormData) {
await db.products.update({ where: { id }, data })
updateTag(`product-${id}`) // Immediate invalidation
}
```

正在使用“next-cache-components”。 What are the three content types in Cache Components?

预期结果:

**1. Static** - Synchronous code, imports, pure computations. Prerendered at build time.

**2. Cached** - Async data with 'use cache' directive. Served from cache with optional revalidation.

**3. Dynamic** - Runtime data in Suspense boundaries. Streams in fresh on each request.

Mix all three in one page:
```tsx
export default function Page() {
return (
<>
<Header /> {/* Static */}
<Stats /> {/* Cached with 'use cache' */}
<Suspense fallback={<Loading />}>
<UserData /> {/* Dynamic - streams in */}
</Suspense>
</>
)
}
```

安全审计

安全
v1 • 1/31/2026

Documentation-only skill containing code examples for Next.js 16 caching features. All 82 static findings are false positives: backticks in code blocks flagged as shell commands, fetch examples in documentation, and crypto APIs in examples. No executable code, network calls, or security risks present.

1
已扫描文件
361
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
33
社区
100
安全
91
规范符合性

你能构建什么

Optimizar Páginas de Dashboard

Crear páginas de dashboard con shell estático, estadísticas cacheadas y notificaciones en streaming usando límites de Suspense.

Implementar Estrategia de Cache para CMS

Cachear publicaciones de blog y páginas de productos con invalidación inteligente cuando el contenido cambia via cacheTag.

Migrar desde Cache Legacy

Actualizar proyectos Next.js antiguos usando experimental.ppr o unstable_cache a los Componentes de Cache modernos.

试试这些提示

Configuración Básica de Cache
¿Cómo habilito los Componentes de Cache en Next.js 16? Muéstrame la configuración y el patrón de uso básico.
Invalidación de Cache
Necesito invalidar mi cache de productos cuando cambia el inventario. Muéstrame cómo usar cacheTag y updateTag para invalidación inmediata.
Vida Útil de Cache Personalizada
¿Cómo configuro la vida útil del cache con cacheLife()? Muéstrame tanto los perfiles integrados como la configuración en línea para comportamiento stale-while-revalidate.
Patrones de Migración
Estoy migrando desde experimental.ppr y dynamic = 'force-static'. ¿Cuál es el patrón equivalente de Componentes de Cache para revalidate = 3600?

最佳实践

  • Usar 'use cache' a nivel de función para control granular sobre qué se cachea
  • Aplicar cacheTag() para habilitar invalidación dirigida cuando las fuentes de datos se actualizan
  • Combinar contenido cacheado con límites de Suspense para mantener cargas de página iniciales rápidas
  • Probar el comportamiento de cache con diferentes perfiles (minutos, horas, días) antes de desplegar

避免

  • Acceder a cookies(), headers() o searchParams directamente dentro de bloques 'use cache' - pasarlos como argumentos en su lugar
  • Cachear datos altamente dinámicos específicos de usuario que cambian en cada solicitud
  • Usar Math.random() o Date.now() dentro de funciones cacheadas - se ejecutan una vez en tiempo de compilación
  • Olvidar agregar cacheTag() antes de la implementación - hace imposible la invalidación

常见问题

¿Cuál es la diferencia entre updateTag() y revalidateTag()?
updateTag() invalida inmediatamente dentro de la misma solicitud, por lo que lecturas posteriores ven datos frescos. revalidateTag() dispara revalidación en背景 - la siguiente solicitud ve datos obsoletos mientras se revalida en background.
¿Puedo usar 'use cache' con Edge Runtime?
No. Los Componentes de Cache requieren el Node.js server runtime. Edge runtime no soporta la infraestructura de cache necesaria para la directiva 'use cache'.
¿Cómo manejo datos específicos de usuario con Componentes de Cache?
Pasar datos específicos de usuario como argumentos de función. Los argumentos se convierten en parte de la clave de cache, por lo que cada usuario obtiene su propia versión cacheada. No acceder a cookies() o headers() dentro de 'use cache'.
¿Qué sucede con los datos cacheados cuando desplego una nueva versión?
El cache se invalida automáticamente por el build ID. Desplegar una nueva versión cambia el build ID, por lo que todo el contenido cacheado se trata como fresco y se repobla en el primer acceso.
¿Cómo depuro el comportamiento de cache en desarrollo?
Revisar el panel de cache de Next.js DevTools. También puedes agregar declaraciones console.log dentro de bloques 'use cache' - solo se ejecutan cuando el cache se está poblando, no en cache hits.
¿Cuál es el comportamiento de cache por defecto sin ninguna configuración?
Sin 'use cache', el contenido es estático (código síncrono) o dinámico (suspendido). Con 'use cache' solo, usa el perfil por defecto: 5 minutos obsoleto, 15 minutos revalidación.

开发者详情

文件结构

📄 SKILL.md