~/VibeHandbook
PDF gratis

Capítulo 14 · 06

Caché

Una almacena la respuesta a una pregunta costosa para que no tengas que volver a hacerla. Si tu página de inicio ejecuta la misma consulta pesada para cada visitante, guarda el resultado en caché en Redis durante 60 segundos y sírvelo al instante.

El caché es una optimización de rendimiento, no una fuente de verdad. La trampa clásica de principiante es olvidar la invalidación de caché: la copia en caché se vuelve obsoleta y los usuarios ven datos antiguos. Regla general: cachea solo cuando hayas medido un cuello de botella real, y ten siempre una regla clara sobre cuándo expira o se refresca el valor en caché.

Hay dos estrategias limpias, y mezclarlas causa la mayoría de los errores de caché. Expiración basada en tiempo (TTL — Time To Live, tiempo de vida, como una fecha de caducidad estampada en el valor cacheado) dice "este valor es válido por 60 segundos, luego descártalo": simple, y adecuado cuando unos datos ligeramente obsoletos son inofensivos (un contador de vistas, un feed de la página de inicio). La invalidación basada en eventos dice "elimina el valor cacheado en el momento en que cambian los datos subyacentes": es correcta, pero debes recordar hacerlo en cada ruta de escritura, que es exactamente donde la gente falla. En caso de duda, prefiere un TTL corto: un valor que como máximo tiene un minuto de antigüedad es un error menor que un valor que está obsoleto para siempre porque olvidaste una invalidación.

¿Lo quieres sin conexión?

Descarga el libro entero en PDF o EPUB — gratis.