0Pricing
Web Performance Optimization & Lighthouse · Lección

Almacenamiento en caché y compresión de respuestas de API

Acelere las respuestas del backend con capas de caché en memoria y distribuidas, una invalidación inteligente de caché y la reducción de payloads, para que los servidores trabajen menos en cada solicitud.

Almacenamiento en caché y compresión de respuestas de API es una lección gratuita de Web Performance Optimization & Lighthouse en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Web Performance Optimization & Lighthouse, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Web Performance Optimization & Lighthouse incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

Why Cache on the Backend?

Recomputing the same response for every request wastes CPU and database time. Caching stores computed results so repeat requests return instantly, cutting both latency and load.

Layers of Caching

  • In-process memory fastest, but per-instance.
  • Distributed cache (Redis/Memcached) shared across servers.
  • HTTP/CDN cache at the edge.

A Simple Cache-Aside Pattern

The most common pattern: check the cache, return on hit, otherwise compute, store, and return. This is called cache-aside.

async function getUser(id) {
  const hit = await redis.get('user:' + id);
  if (hit) return JSON.parse(hit);
  const user = await db.findUser(id);
  await redis.set('user:' + id, JSON.stringify(user), 'EX', 300);
  return user;
}

Choosing a TTL

A time to live balances freshness against hit rate. Volatile data needs short TTLs; reference data can live much longer. Always set some expiry to avoid stale buildup.

Invalidation Strategies

The hard part of caching is invalidation. On writes, either delete the affected keys or update them (write-through). Stale data here is a common production bug.

async function updateUser(id, data) {
  await db.update(id, data);
  await redis.del('user:' + id);
}

HTTP Caching Headers

For cacheable API responses, set Cache-Control so browsers and CDNs can reuse them, removing the request entirely on a hit.

res.set('Cache-Control', 'public, max-age=60, stale-while-revalidate=300');

Conditional Requests

ETag and If-None-Match let the server reply 304 Not Modified with no body when data is unchanged, saving bandwidth.

res.set('ETag', hashOf(payload));
// next time: if If-None-Match matches, send 304

Shrinking the Payload

Return only the fields clients need, paginate large lists, and avoid over-fetching. Smaller payloads serialize faster and transfer quicker.

Compressing Responses

Enable gzip or Brotli on JSON responses. Combined with caching, this minimizes both compute and transfer per request.

const compression = require('compression');
app.use(compression());

Avoiding Stampedes

When a hot key expires, many requests may hit the database at once (a cache stampede). Mitigate with locks, request coalescing, or stale-while-revalidate.

Strategy Summary

  • Cache-aside with sensible TTLs.
  • Invalidate on writes.
  • Use Cache-Control and ETags.
  • Trim and compress payloads.
  • Guard against stampedes.

Quick Check

After a user updates their profile, the API keeps returning the old data for several minutes. What is the most likely cause?

Recap

You learned to cut backend work with layered caching (cache-aside, TTLs, invalidation on writes), HTTP caching via Cache-Control and ETags, payload trimming, and compression, while guarding against cache stampedes.

Preguntas frecuentes

¿La lección «Almacenamiento en caché y compresión de respuestas de API» es gratis?

Sí — el texto completo de «Almacenamiento en caché y compresión de respuestas de API» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Web Performance Optimization & Lighthouse, actualiza a CoddyKit PRO. El curso de Web Performance Optimization & Lighthouse incluye 4 lecciones en total.

¿Qué aprenderé en «Almacenamiento en caché y compresión de respuestas de API»?

Acelere las respuestas del backend con capas de caché en memoria y distribuidas, una invalidación inteligente de caché y la reducción de payloads, para que los servidores trabajen menos en cada solic… Practicas Web Performance Optimization & Lighthouse con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Web Performance Optimization & Lighthouse?

No se requiere experiencia previa. Web Performance Optimization & Lighthouse en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Almacenamiento en caché y compresión de respuestas de API»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Web Performance Optimization & Lighthouse?

Sí. Cada lección de Web Performance Optimization & Lighthouse incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Cuellos de botella de rendimiento en el backend
  2. Optimización de consultas de bases de datos
  3. Impacto del renderizado del lado del servidor (SSR)
  4. Almacenamiento en caché y compresión de respuestas de API
← Volver a Web Performance Optimization & Lighthouse