La plataforma de edge cloud de Fastly

¿Qué es el almacenamiento en caché?

La memoria caché es una ubicación que almacena datos de forma temporal para que se puedan recuperar más rápido cuando se necesiten. El almacenamiento en caché se refiere al proceso de almacenar estos datos. Puede que también hayas oído el término «cache» usado en contextos no técnicos, como un lugar para almacenar algo por comodidad. Por ejemplo, los campistas y excursionistas pueden almacenar en caché provisiones de comida a lo largo de un sendero. Pero analicemos más de cerca qué significa el almacenamiento en caché online.

En un mundo perfecto, un usuario que visite tu sitio web tendría almacenados localmente todos los activos de datos necesarios para renderizar el sitio rápidamente. Sin embargo, los activos están ubicados en otro lugar, quizá en un centro de datos o en un servicio en la nube, y recuperarlos tiene un coste. Mientras que el usuario paga en latencia —el tiempo necesario para generar y cargar los activos—, tú pagas un coste económico. Las tarifas incluyen no solo el coste de alojar tu contenido, sino también lo que se conoce como coste de tráfico de salida; el cargo por sacar ese contenido del almacenamiento cuando lo solicitan los visitantes. Cuanto más tráfico reciba tu sitio web, más tendrás que pagar para distribuir contenido en respuesta a peticiones, muchas de las cuales pueden ser duplicadas.

Es ahí donde el almacenamiento en caché revela su utilidad, ya que te permite almacenar copias de tu contenido para acelerar la distribución utilizando menos recursos.

Cómo funciona el almacenamiento en caché

Para entender cómo funciona el almacenamiento en caché, primero debemos entender cómo funcionan las peticiones y respuestas HTTP. Cuando un usuario hace clic en un enlace o introduce la URL de tu sitio web en la barra de direcciones, se envía una petición desde el navegador (el cliente) hasta la ubicación donde se encuentra el contenido (tu servidor de origen). A continuación, el servidor de origen procesa la petición y envía una respuesta al cliente.

Diagrama de almacenamiento en caché

Por muy instantáneo que esto pueda parecer, en realidad el servidor de origen tarda lo suyo en procesar la petición, generar la respuesta y enviarla al cliente. Además, hacen falta numerosos activos para mostrar el sitio web, lo cual significa que deberán enviarse múltiples peticiones por todos los datos que conforman el sitio, como imágenes, páginas web HTML y archivos CSS.

En este punto, entra en juego la caché local del usuario. El navegador puede almacenar en caché algunos activos estáticos, como la imagen de encabezado con tu logotipo y la hoja de estilo del sitio, en el dispositivo para ayudar a mejorar el rendimiento la próxima vez que acceda al sitio. Sin embargo, este tipo de caché solo es útil para ese usuario.

Si quieres almacenar activos en caché para todos los usuarios que visiten tu sitio, deberías contemplar la opción de una memoria caché remota, como un proxy inverso. 

¿Qué tipos de almacenamiento en caché existen?

Hay varios tipos de almacenamiento en caché que se emplean en distintos niveles de la infraestructura de internet, cada uno con una función específica. Veamos los distintos tipos de almacenamiento en caché y cómo contribuyen a que la experiencia de navegación sea más fluida.

1. Almacenamiento en caché con red de distribución de contenidos

El almacenamiento en caché de red de distribución de contenidos (CDN) reduce la latencia al permitir distribuir los contenidos desde una ubicación más cercana al usuario, lo que mejora significativamente los tiempos de carga. Funciona almacenando copias del contenido en servidores de borde distribuidos por todo el mundo. Cuando un usuario realiza una petición de contenido, la CDN lo distribuye desde el servidor de borde más cercano en lugar de esperar a que el servidor de origen responda. Así, se reduce la carga de trabajo del servidor de origen y se puede gestionar un mayor volumen de tráfico al distribuir las peticiones entre varios servidores.

2. Almacenamiento en caché en el lado del servidor

A diferencia del almacenamiento en caché mediante red de distribución de contenidos, el almacenamiento en caché en el lado del servidor guarda copias de datos listas para usar en el servidor de origen, lo que evita que el navegador del usuario tenga que solicitar de nuevo cada elemento de contenido cada vez que carga una página. Esta capacidad de almacenar objetos de datos reutilizables minimiza el número de consultas a la base de datos y mejora el rendimiento de tu sitio. El almacenamiento en el lado del servidor puede tomar varias formas, entre ellas:

  • Almacenamiento en caché de páginas: guarda una copia de las páginas HTML

  • Almacenamiento en caché de objetos: guarda objetos de datos reutilizables

  • Almacenamiento en caché de códigos de operación: Guarda código PHP precompilado

  • Almacenamiento en caché de bases de datos: Almacena en caché los resultados de consultas a bases de datos

El almacenamiento en caché en el lado del servidor no solo se utiliza para contenido, pues puede servir para guardar desde páginas web completas hasta consultas individuales a bases de datos. 

3. Almacenamiento de DNS en caché

La resolución de DNS (sistema de nombres de dominio) es el proceso que emplean los navegadores web para traducir un nombre de dominio, como www.Fastly.com, en la dirección IP específica del servidor de origen que aloja el sitio web. Los navegadores web usan el almacenamiento en caché de DNS para aumentar la velocidad de este proceso, ya que almacena localmente los resultados de las consultas de DNS, lo que permite que las peticiones se resuelvan más rápido en futuras visitas. En esencia, antes de consultar los servidores de DNS globales, el navegador comprueba su propia caché de DNS para ver si ya conoce la dirección IP correcta. Esto reduce considerablemente el tiempo necesario para resolver nombres de dominio y acelera el acceso al sitio web. 

A diferencia de los dos tipos anteriores de almacenamiento en caché que hemos visto, el almacenamiento en caché de DNS está localizado en los usuarios, no se basa en el servidor. Además, se utiliza específicamente para resolver nombres de dominio, en lugar de distribuir contenido o agilizar consultas de bases de datos. 

4. Almacenamiento de contenido en caché

El almacenamiento de contenido en caché es una categoría de almacenamiento en caché más general que se refiere a la duplicación y el almacenamiento de varios tipos de contenido web para servir a los usuarios de forma más eficiente. El almacenamiento de contenido en caché se produce a nivel de servidor (como ocurre con el almacenamiento en caché del lado del servidor y el almacenamiento en caché de la red de distribución de contenidos). Sin embargo, puede producirse en otros niveles, entre ellos:

  • Caché del navegador: guarda contenido web localmente en el dispositivo del usuario para permitir una recarga más rápida cuando se acceda al sitio más adelante.

  • Almacenamiento en caché proxy: El contenido web se almacena en servidores intermediarios (proxies) situados entre el usuario y el servidor de origen en la red. 

  • Almacenamiento en caché de la puerta de enlace: Guarda una copia de los datos en puertas de enlace de la red de una organización. 

El almacenamiento de contenido en caché es muy variable, se produce en múltiples niveles y abarca una amplia variedad de tipos de contenido, como imágenes, vídeos y páginas HTML completas. Al hacer que las copias del contenido sean más accesibles, el almacenamiento en caché de contenido proporciona una experiencia de navegación más rápida y fluida a los usuarios, lo que permite que los sitios se carguen de forma más eficiente y reduce el uso general de ancho de banda en la red. 

Red de distribución de contenidos y almacenamiento en caché

Como el almacenamiento en caché funciona manteniendo copias de los datos disponibles para su uso posterior, los sistemas de red deben saber que esas copias ya existen. Cuando se encuentra el contenido en la caché, se da un «acierto de caché». Los aciertos de caché desencadenan automáticamente que el contenido se distribuya directamente desde el servidor edge hasta el usuario, lo que se traduce en tiempos de carga más rápidos. La «proporción de aciertos de caché» se refiere al porcentaje de veces que una consulta da como resultado un acierto de caché. 

Las redes de distribución de contenidos suelen tener una proporción de aciertos de caché más alta que otros sistemas de almacenamiento en caché del lado del servidor. Esto se debe a que despliegan numerosos servidores en el edge a nivel mundial, situados estratégicamente cerca de los usuarios finales. Dada la gran base de usuarios a la que suelen dar servicio las redes de distribución de contenidos, siempre existe una alta probabilidad de que un usuario de una región geográfica similar ya haya hecho que se almacene una copia de los datos en el servidor del edge de esa región. 

Sin embargo, un acierto de caché no siempre es el resultado de una petición de usuario. Hay ocasiones en las que el servidor no puede distribuir el contenido desde el edge y debe, por tanto, recuperarlo del servidor de origen. Esto se denomina «fallo de caché» y puede ocurrir por varias razones:

  • Primera petición (caché fría)

  • Invalidación o purga de la caché

  • Limitaciones de capacidad

  • Actualizaciones de contenido

Un fallo de caché también se produce debido a contenido caducado. El contenido se almacena en caché en una red de distribución de contenidos (CDN) según un valor de tiempo de vida (TTL). Cuando ese valor de tiempo caduca, el contenido se elimina de la caché. Los desarrolladores e ingenieros de redes establecen los valores de tiempo de vida (TTL) en función del tipo de contenido que se almacena en caché. El contenido dinámico, como los artículos de noticias, suele tener un valor de tiempo de vida (TTL) corto, de unos pocos segundos a unos minutos. En cambio, las cachés de CDN suelen tener valores de tiempo de vida (TTL) más largos, de días a semanas, porque el contenido, como imágenes, vídeos, CSS y datos de JavaScript, es estático. 

¿Es necesario limpiar la memoria caché?

Limpiar la caché puede ser beneficioso en ciertas situaciones, pero no siempre es necesario ni recomendable. A continuación, hemos destacado algunas de las razones más habituales por las que deberías limpiar la caché. 

Liberar almacenamiento

En entornos locales, los datos almacenados en caché pueden acumularse con el tiempo y ocupar demasiado espacio de almacenamiento en el sistema. Por ejemplo, esto puede ser especialmente problemático para dispositivos personales como portátiles o netbooks que tienen una capacidad de almacenamiento limitada. Al borrar la caché, a menudo puedes liberar un valioso espacio de almacenamiento, lo que ayuda a que el dispositivo funcione con más fluidez. 

Resolución de problemas de rendimiento

Con el paso del tiempo, los datos en caché pueden quedar dañados u obsoletos. Esto puede hacer que los sitios web carguen más lentamente o presenten fallos, lo que impide acceder a funciones clave. A menudo, puedes resolver estos problemas y eliminar los archivos dañados u obsoletos borrando la caché. 

Reforzar la privacidad

Los datos almacenados en caché pueden incluir información sensible, como credenciales de inicio de sesión, historial de navegación u otros datos privados. Borrar la caché es una forma rápida de proteger esta información privada eliminándola del sistema. 

Sin embargo, también hay situaciones en las que borrar la caché puede no ser necesario ni recomendable. 

1. Pérdida de datos

Cuando un usuario limpia la caché, elimina los datos, lo que ayuda a que los sitios web y las aplicaciones carguen más rápido. El inconveniente de limpiar la caché es que los sitios web y las aplicaciones tendrán que volver a cargar estos recursos desde cero. Esto puede provocar tiempos de carga más lentos hasta que se reconstruya la caché. 

2. Solución temporal

Limpiar una caché puede resolver algunos problemas de rendimiento, pero la solución suele ser solo temporal. Si no se resuelve el problema subyacente, los problemas de rendimiento pueden volver a surgir una vez que se reconstruya la caché. Es fundamental identificar y abordar la causa raíz para lograr una solución a largo plazo. 

3. Pérdida de ventajas de rendimiento

Una de las principales ventajas del almacenamiento en caché es la mejora del rendimiento. Eliminar los datos almacenados en caché implica perder este valor añadido. 

¿Cómo utiliza Fastly el almacenamiento en caché?

Fastly emplea el almacenamiento en caché en su red de distribución de contenidos para acelerar la distribución de contenidos a tu audiencia. Al almacenar copias exactas de tu contenido en nuestros servidores repartidos por el mundo, reducimos la latencia y la carga de los servidores para garantizar que los usuarios accedan lo más rápido posible desde el servidor más cercano. 

Las funcionalidades de almacenamiento en caché de Fastly incluyen Instant Purge™ para actualizaciones rápidas de contenido y reglas de almacenamiento en caché personalizables. Nuestro enfoque mejora la experiencia de usuario con un acceso más rápido al contenido y, al mismo tiempo, reduce el coste de tráfico de salida y el ancho de banda.

Descubre cómo almacenar en caché con una red de distribución de contenidos

Aprende más

¿Listo para empezar?

Ponte en contacto con nosotros