Glosario
Términos complejos explicados de forma Simple, a lo Lowi.
Tu ordenador o móvil suele recordar algunas de las páginas que has visitado recientemente o carga las cosas más rápido de lo normal gracias a la memoria caché. Te contamos qué es exactamente, para qué sirve y por qué es tan importante.
Memoria caché, ¿qué es? Es un almacenamiento rápido que guarda temporalmente datos a los que tu dispositivo accede frecuentemente, todo esto con el objetivo de reducir el tiempo de espera y mejorar el rendimiento del sistema.
Técnicamente, la memoria caché es una memoria estática de acceso aleatorio (SRAM) alojada cerca de la CPU o GPU de un dispositivo. Se emplea para almacenar de forma temporal la información a la que se accede habitualmente.
Pero la caché no es solo cosa de hardware. También existe en forma de software, ya que tu navegador almacena elementos de las webs que visitas, las aplicaciones guardan datos temporales e incluso la red tiene sus propios sistemas de caché.
La función principal de la memoria caché es ofrecer a la CPU un acceso inmediato a los datos para mejorar el rendimiento global del dispositivo. Sin la existencia de la caché, el sistema tendría que recuperar la información desde el disco duro, por lo que el proceso sería mucho más lento.
La memoria caché está en constante funcionamiento, por eso en muchas ocasiones no somos conscientes completamente de todas las aplicaciones que tiene. Algunas de las más comunes son:
¿Qué significan las siglas DNS? Corresponden a las siglas en inglés de «Domain Name System», o Sistema de Nombres de Dominio.
Entonces, ¿qué es un DNS? Podríamos decir que es el sistema fundamental que asocia los nombres de dominio que tú escribes en el navegador con las direcciones IP numéricas que las máquinas realmente necesitan para conectarse entre sí.
Mientras que tú accedes a la información en línea a través de nombres fáciles de recordar, los navegadores web y los servidores se comunican utilizando direcciones numéricas del Protocolo de Internet (IP), como 216.58.210.142.
El concepto de caché aplicado al DNS es un ejemplo perfecto de cómo este mecanismo de optimización se extiende más allá de tu procesador.
Si la caché de la CPU reduce la latencia interna para evitar el cuello de botella de la RAM, la caché DNS reduce la latencia en la red para evitar tener que consultar repetidamente a servidores DNS remotos en cada conexión.
DNS, ¿para qué sirve? Pues la utilidad del DNS radica en su capacidad para traducir nombres de dominio legibles por humanos a direcciones IP únicas que las máquinas pueden entender. Este proceso es fundamental para cualquier conexión en línea.
Sin el DNS, estarías obligado a recordar largas y complejas cadenas de números IP para cada sitio web que quisieras visitar, lo que haría inviable la navegación en la web tal como la conocemos. El DNS automatiza esta traducción, permitiendo que la navegación sea fluida y accesible.
Pero aquí es donde entra en juego la caché DNS: una vez que tu navegador o sistema operativo ha resuelto un nombre de dominio a una dirección IP, almacena ese resultado localmente durante un tiempo.
Así, si vuelves a visitar el mismo dominio pronto, ya no tendrá que consultar a ningún servidor DNS externo, puesto que utilizará la dirección almacenada en su caché DNS local y cargará la página más rápido.
Si estás interesado, también tenemos un artículo que explica cómo cambiar DNS paso a paso de forma sencilla.
Ahora que ya sabemos qué es la memoria caché y cómo se aplica incluso a sistemas como el DNS, veamos los diferentes tipos que existen y qué objetivos tiene cada uno de ellos.
Dentro del procesador existe una jerarquía estricta entre los diferentes niveles de la memoria caché. Esta estructura se basa en que cuanto más cerca esté la memoria del núcleo del procesador, más rápida debe ser, pero menor será su capacidad.
Es la memoria más rápida de todo el sistema y está ubicada justo al lado del núcleo de la CPU, integrada directamente en cada núcleo. Su latencia es mínima, generalmente entre 1 y 5 ciclos de reloj, lo que significa que el acceso es prácticamente instantáneo.
La L1 es fundamental para el funcionamiento del chip. Sin ella, el tiempo de obtención de los datos sería demasiado elevado. Para optimizar su rendimiento, la caché L1 suele dividirse en L1d para datos y L1i para instrucciones.
Es la memoria intermedia entre el L1 y la memoria RAM y, aunque es más lenta que la L1, tiene mayor capacidad. Sus tamaños suelen variar entre 256 KB y 2 MB por núcleo.
En la mayoría de los procesadores modernos, la L2 está integrada en el mismo chip que el núcleo, actuando como un buffer intermedio exclusivo para ese núcleo.
Para gestionar la coherencia de datos con la RAM, las cachés L1 y L2 suelen emplear la política de write-back, que retrasa la actualización de la memoria inferior hasta que el bloque de datos modificado es desalojado de la caché, reduciendo el tráfico interno de la CPU.
La L3 es la que mayor capacidad tiene, variando desde 8 MB hasta cientos de MB en los procesadores más modernos, pero es la más lenta de los tres niveles. Aun así, es considerablemente más veloz que la memoria RAM.
La memoria L3 se emplea especialmente en procesadores con varios núcleos, ya que es una memoria compartida entre todos ellos. Esta característica es vital para la colaboración entre núcleos y minimiza la necesidad de realizar costosos viajes a la RAM.
La memoria caché en disco es una memoria temporal que se utiliza para almacenar aquellos datos que se leen o escriben en el disco duro o SSD con frecuencia. Este mecanismo funciona en dos niveles distintos.
Por un lado, los propios discos duros y unidades de estado sólido cuentan con memoria caché integrada en su controlador. Esta caché del disco almacena la información más solicitada del propio disco para que la controladora pueda acceder a ella rápidamente sin tener que leerla físicamente del platillo o de la memoria flash cada vez.
Por otro lado, los sistemas operativos emplean parte de la memoria RAM como caché de disco, también llamado caché de sistema de archivos. Este proceso acelera enormemente el acceso a la información.
No obstante, debes tener en cuenta que al estar dentro de la memoria RAM, cuando tu dispositivo se apague, toda la información almacenada en esta caché se eliminará.
Es la caché que más utilizas en tu día a día. Siempre que visites una página web por primera vez, la caché web almacenará los elementos de esa página, tales como imágenes, hojas de estilo CSS, archivos JavaScript y otros recursos.
De esta forma, la próxima vez que accedas, se recuperará la versión guardada en caché y la página se cargará rápidamente, sin necesidad de volver a descargar esos elementos desde el servidor.
La caché de red opera en el ámbito de Internet, fuera de tu dispositivo personal, y se materializa principalmente a través de las Redes de Distribución de Contenido, más conocidas como CDN.
Las CDN funcionan mediante una infraestructura de servidores distribuidos geográficamente, conocidos como Puntos de Presencia o PoPs, que almacenan en caché contenido web estático lo más cerca posible de los usuarios finales.
Cuando solicitas un recurso, este se sirve desde el nodo de CDN más cercano a tu ubicación en lugar de tener que viajar hasta el servidor de origen, que podría estar en otro continente. Esto reduce drásticamente la distancia que deben recorrer los datos.
El contenido estático como imágenes, CSS y JavaScript se beneficia enormemente del almacenamiento en caché de red. Incluso para contenido dinámico, las CDN validan si el recurso ha cambiado utilizando encabezados HTTP antes de servir una respuesta, optimizando así el equilibrio entre frescura de datos y velocidad.
La optimización mediante caché se extiende a prácticamente todas las capas de la infraestructura tecnológica. Más allá de los casos que ya hemos visto, existen otros tipos de caché específicos en diferentes ámbitos:
La memoria caché se ha convertido en un componente absolutamente irremplazable en el ecosistema informático moderno. Su relevancia va mucho más allá de simplemente hacer las cosas más rápidas, tal como podemos ver aquí:
Por la manera en la que funciona la memoria caché, tiene una serie de ventajas sistémicas que van más allá del simple aumento de velocidad:
No es una pregunta con una única respuesta, sino que debemos tener varias cosas en cuenta.
El objetivo de la memoria caché es optimizar el rendimiento de los dispositivos y de las actividades que se realizan de forma frecuente. Sin embargo, hay situaciones en las que es necesario borrar el caché:
No obstante, borrar la memoria caché puede tener unas desventajas:
Por lo general, lo recomendable es no borrar la memoria caché a no ser que se dé alguno de los casos mencionados. Si decides borrar caché, hazlo aplicación por aplicación, sin borrar el caché de todo tu dispositivo.
Si quieres seguir leyendo más sobre la memoria caché, descubre cómo borrar la memoria caché en Android con estos trucos.
Estamos para ayudarte