¿Qué es el almacenamiento en caché?

Una caché es una ubicación que almacena temporalmente datos para recuperarlos más rápido cuando algo necesita acceder a ellos. El almacenamiento en caché se refiere al proceso de almacenar estos datos. Es posible que también hayas escuchado el término caché usado en contextos no técnicos, como un lugar para almacenar algo por conveniencia. Por ejemplo, los campistas y excursionistas pueden almacenar en caché un suministro de alimentos a lo largo de un sendero. Pero veamos más de cerca qué significa el almacenamiento en caché en línea.

En un mundo perfecto, un usuario que visita tu sitio web tendría todos los recursos de datos necesarios para renderizar rápidamente el sitio almacenados de forma local. Sin embargo, los recursos están ubicados en otro lugar, quizás en un centro de datos o en un servicio en la nube, y recuperarlos tiene un costo. Mientras el usuario paga en latencia —el tiempo necesario para generar y cargar los recursos—, tú pagas un costo monetario. Las tarifas incluyen no solo el costo de alojar tu contenido, sino que también cubren lo que se conoce como costo 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 entregar contenido en respuesta a solicitudes, muchas de las cuales pueden ser duplicadas.

Aquí es donde entra en juego el caché: te permite almacenar copias del contenido para acelerar su distribución mientras usas 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 solicitudes y respuestas HTTP. Cuando un usuario hace clic en un enlace o ingresa la URL de tu sitio web en la barra de direcciones, se envía una solicitud desde el navegador (el cliente) a la ubicación donde se encuentra el contenido (tu servidor de origen). Luego, el servidor de origen procesa la solicitud y envía una respuesta al cliente.

Diagrama de caché

Aunque pueda parecer que esto sucede instantáneamente, en realidad, el servidor de origen tarda tiempo en procesar la solicitud, generar la respuesta y enviarla al cliente. Además, se requieren muchos recursos diferentes para renderizar tu sitio web, lo que significa que se deben enviar múltiples solicitud para todos los diferentes datos que componen tu sitio, incluidas imágenes, páginas web HTML y archivo CSS.

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

Si quieres almacenar en caché recursos para cada usuario que visite el sitio, deberías considerar un caché remoto como un proxy inverso. 

¿Cuáles son los diferentes tipos de almacenamiento en caché?

Hay varios tipos de almacenamiento en caché que se emplean en distintos niveles de la infraestructura de internet, y cada uno cumple un propósito específico. Exploremos los diferentes tipos de almacenamiento en caché y veamos cómo contribuyen a una experiencia de navegación más fluida.

1. Almacenamiento en caché de la Red de distribución de contenido

El almacenamiento en caché de CDN (Red de distribución de contenido) reduce la latencia al permitirte entregar tu contenido desde una ubicación más cercana al usuario, lo que mejora significativamente los tiempos de carga. Funciona almacenando copias del contenido en servidores edge distribuidos por todo el mundo. Cada vez que un usuario solicita contenido, la Red de distribución de contenido lo entrega desde el servidor edge más cercano en lugar de esperar a que responda el servidor de origen. Esto reduce la carga de trabajo del servidor de origen y admite un mayor volumen de tráfico al distribuir las solicitudes entre varios servidores.

2. Almacenamiento en caché del lado del servidor

A diferencia del almacenamiento en caché de la Red de distribución de contenido, el almacenamiento en caché del 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 contenido cada vez que carga una página. Esta capacidad de almacenar objetos de datos reutilizables minimiza la cantidad de consultas a la base de datos y mejora el rendimiento de tu sitio. El almacenamiento en caché del lado del servidor se presenta de varias formas, entre ellas:

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

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

  • Almacenamiento en caché de opcode: Almacena código PHP precompilado

  • Caché de base de datos: Almacena en caché los resultados de consultas de la base de datos

El almacenamiento en caché del lado del servidor también se usa para algo más que contenido, con copias de datos que van desde páginas web completas hasta consultas individuales a la base de datos. 

3. Almacenamiento en caché de DNS

La resolución de DNS (Domain Name System) es el proceso que usan 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 solicitudes se resuelvan más rápido en visitas futuras. Básicamente, antes de consultar los servidores DNS globales, el navegador revisa su propia caché de DNS para ver si ya conoce la Dirección IP correcta. Esto reduce significativamente el tiempo necesario para resolver nombres de dominio, lo que 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 servidores. También se usa específicamente para resolver nombres de dominio, en lugar de entregar contenido o agilizar consultas de bases de datos. 

4. Almacenamiento en caché de contenido

El almacenamiento en caché de contenido 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 en caché de contenido 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 contenido). Sin embargo, puede producirse en varios otros niveles, entre ellos:

  • Almacenamiento en caché del navegador: almacena contenido web localmente en el dispositivo del usuario para permitir una recarga más rápida cuando se acceda al sitio más tarde.

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

  • Almacenamiento en caché de gateway: Almacena una copia de los datos en gateways dentro de la red de una organización. 

El almacenamiento en caché de contenido es muy variable, ocurre en varios niveles y abarca una amplia gama de tipos de contenido, incluidas imágenes, videos 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 para los usuarios, lo que permite que los sitios se carguen de manera más eficiente y reduce el uso general del ancho de banda en la red. 

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

Como el almacenamiento en caché funciona al mantener copias de los datos disponibles para su uso posterior, los sistemas de red deben saber que esas copias ya existen. Cuando el contenido se encuentra en la caché, se produce un “acierto de caché”. Los aciertos de caché activan automáticamente la entrega del contenido directamente desde el servidor edge al usuario, lo que da como resultado tiempos de carga más rápidos. El “índice 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 contenido suelen tener índices de aciertos de caché más altos que otros sistemas de almacenamiento en caché del lado del servidor. Esto se debe a que despliegan numerosos servidores edge en todo el mundo, ubicados estratégicamente cerca de los usuarios finales. Debido a la gran base de usuarios a la que suelen dar servicio las redes de distribución de contenido, 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 edge de esa región. 

Sin embargo, un acierto de caché no siempre es el resultado de una solicitud de usuario. Hay ocasiones en las que el servidor no puede entregar el contenido desde el edge y, por lo tanto, debe recuperarlo del servidor de origen. Esto se denomina “error de caché” y puede ocurrir por varias razones:

  • Primera solicitud (caché en frío)

  • Invalidación o purga de caché

  • Limitaciones de capacidad

  • Actualizaciones de contenido

Un error de caché también ocurre debido a contenido vencido. El contenido se almacena en caché en una Red de distribución de contenido según un valor de Tiempo de vida (TTL). Cuando ese valor de tiempo vence, el contenido se elimina de la caché. Los desarrolladores e ingenieros de red establecen valores de Tiempo de vida según el 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 corto, de unos segundos a unos minutos. En cambio, la caché de la Red de distribución de contenido suele tener valores de Tiempo de vida más largos, de días a semanas, porque el contenido, como imágenes, videos, CSS y datos de JavaScript, es estático. 

¿Deberías borrar la caché?

Borrar la caché puede ser beneficioso en ciertas situaciones, pero no siempre es necesario ni recomendable. A continuación, destacamos algunas de las razones más comunes por las que deberías borrar la caché. 

Libera almacenamiento

A nivel local, los datos 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 laptops 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 mejor. 

Solución de problemas de rendimiento

Los datos en caché pueden dañarse o quedar desactualizados con el tiempo. Esto puede hacer que los sitio web carguen más lentamente o presenten fallas, lo que impide acceder a funciones clave. A menudo puedes resolver estos problemas y eliminar los archivo dañados o desactualizados al borrar la caché. 

Mejorar la privacidad

Los datos en caché pueden incluir información confidencial, 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 al eliminarla de tu 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 borra su caché, elimina los datos, lo que ayuda a que los sitios web y las aplicaciones carguen más rápido. La desventaja de borrar 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

Borrar una caché puede resolver ciertos problemas de rendimiento, pero la solución suele ser solo temporal. Si el problema subyacente no se resuelve, 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 beneficios de rendimiento

Uno de los principales beneficios del almacenamiento en caché es la mejora del rendimiento. Eliminar los datos de tu caché provoca la pérdida de este valor agregado. 

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

Fastly emplea el almacenamiento en caché en su Red de distribución de contenido para acelerar la distribución de tu contenido a tu audiencia. Al almacenar copias exactas de tu contenido en nuestros servidores de todo el mundo, reducimos la latencia y la carga del servidor para garantizar que los usuarios obtengan el acceso más rápido desde el servidor más cercano. 

Las funciones 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 del usuario con un acceso más rápido al contenido y, al mismo tiempo, reduce el ancho de banda y los costos de salida.

Aprende sobre el almacenamiento en caché con Red de distribución de contenido

Más información

¿Estás listo para empezar?

Ponte en contacto con nosotros