Ir directamente al contenido

Glosario

Términos complejos explicados de forma Simple, a lo Lowi.

Volver al listado completo

Memoria Caché

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.

¿Qué es la memoria caché?

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:

  • Apps móviles. Las aplicaciones utilizan memoria caché para acceder a aquella información que se utiliza de forma recurrente. Un ejemplo es cuando entras a Instagram y puedes ver las últimas fotos compartidas por tus amigos, incluso cuando no tienes acceso a Internet.
  • Streaming de vídeo. Cuando ves vídeos en línea como YouTube o Netflix, se almacena en caché una parte del vídeo por adelantado para que, en el caso de que haya pequeñas interrupciones en la red, el vídeo no se pare.
  • Sistemas operativos. Utilizan el caché para guardar datos e información de aplicaciones en uso para que, en el momento que necesites utilizar una función o app, puedas acceder inmediatamente.
  • Red de entregas de contenido (CDN). Los servidores descentralizados almacenan en caché copias del contenido web de servidores lejanos para que los usuarios accedan a ella en un menor tiempo.
  • Sistema de nombres de dominio (DNS). Las DNS traducen las direcciones IP asociadas a un dominio de internet, por lo que almacenan en caché esa información para poder traducir rápidamente esas direcciones.

¿Qué significa un DNS?

¿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.

¿Para qué sirve un DNS?

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.

Tipos y niveles de memoria caché

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.

La jerarquía de la caché de CPU: L1, L2 y L3

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.

Caché L1

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.

Caché L2

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.

Caché L3

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.

Caché de disco duro

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á.

Caché de navegador web

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.

Caché de red

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.

Otros tipos de caché

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:

  • Caché de bases de datos. En aplicaciones que utilizan bases de datos, es común implementar capas de caché para evitar acceder constantemente al disco o realizar las mismas consultas repetidas veces. Una caché de base de datos almacena en memoria rápida los resultados de consultas frecuentes o los datos más solicitados.
  • Cachés de aplicación. Las aplicaciones distribuidas suelen emplear dos estrategias: caché privada, donde los datos se mantienen localmente en el equipo que ejecuta la aplicación, y caché compartida, que actúa como un origen común al que pueden acceder múltiples procesos o máquinas.
  • Cachés de GPU. Las tarjetas gráficas también utilizan sus propias cachés para almacenar texturas y objetos gráficos usados recientemente, acelerando el renderizado de escenas complejas en videojuegos o aplicaciones de diseño 3D.
  • Translation Lookaside Buffer (TLB). Es una caché especializada en la CPU que almacena traducciones recientes de direcciones de memoria virtual a física, acelerando el acceso a memoria.

La importancia de la memoria caché

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í:

  • Aceleración del acceso a datos y programas: La caché permite acceder a información y recursos utilizados con frecuencia de forma casi instantánea, reduciendo la latencia.
  • Reducción de la carga del procesador (CPU): Al encontrar los datos en la caché (acierto de caché), la CPU evita costosas operaciones de lectura o escritura en la memoria principal o en el disco. Este mecanismo reduce el tráfico interno del bus de datos y el consumo de recursos.
  • Mejora de la velocidad de carga de aplicaciones y sitios web: En el ámbito del software, los navegadores web, servidores y CDNs almacenan copias locales de recursos (imágenes, scripts, vídeos, etc.), permitiendo que las páginas y aplicaciones se carguen de forma casi inmediata.
  • Contribución a la eficiencia energética: Acceder a la caché requiere mucho menos consumo de energía que hacerlo a la RAM o al disco. En dispositivos móviles, esta eficiencia se traduce en una mayor duración de la batería.
  • Escalabilidad y fiabilidad del sistema: La caché permite que los sistemas manejen mayores volúmenes de trabajo sin requerir una actualización inmediata del hardware, actuando como un amortiguador de rendimiento entre componentes lentos y rápidos.
  • Sostenibilidad y optimización de recursos: En la era actual de la IA y los sistemas distribuidos, la optimización del uso de la caché es clave para minimizar el consumo eléctrico y reducir los costos operativos.

Ventajas del uso de memoria caché

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:

  • Optimización del rendimiento del dispositivo. El aumento de la velocidad es la ventaja más evidente y el propósito principal de la caché.
  • Se reduce la latencia significativamente al reducirse el tiempo en el que el sistema responde a una determinada petición.
  • La memoria caché proporciona escalabilidad, lo que significa que el sistema puede crecer en necesidades de procesamiento sin requerir necesariamente una actualización costosa.
  • Menos consumo de ancho de banda al reducir la dependencia de la descarga de datos desde Internet.
  • Aumento de la vida útil de otros componentes como el disco duro, que al no tener que trabajar a máximo nivel, se desgasta menos.
  • Mejora la experiencia de usuario, ya que es capaz de realizar tareas más rápidamente, con menos esperas y accediendo siempre a la última versión disponible de la información.

¿Es necesario borrar caché?

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é:

  • Problemas de rendimiento: Si una app comienza a dar problemas o funciona lento, o si un sitio web no se carga correctamente, podría deberse a que está leyendo información caducada o corrupta de la caché.
  • Liberar espacio de almacenamiento: Cuando un dispositivo comienza a quedarse sin memoria, borrar memoria caché puede liberar algo de espacio, a veces cientos de megabytes o incluso gigabytes. Además, puedes guardar gratis tus fotos en la nube para liberar más espacio.
  • Privacidad y seguridad: Si estás utilizando un dispositivo de otra persona o compartido, eliminar el caché de las apps o sitios que hayas visitado es una forma de eliminar información personal.
  • Problemas de conexión o DNS: Si la dirección IP de un dominio ha cambiado recientemente y tu sistema sigue intentando conectar con la dirección antigua almacenada en su caché DNS, tendrás errores de conexión.
  • Cuando entres a una web y no cargue correctamente: Si la versión de la web no se está cargando bien o directamente no puedes acceder, borra la memoria caché para asegurarte de que visitas la versión más reciente.

No obstante, borrar la memoria caché puede tener unas desventajas:

  • Si limpias la caché de tu navegador, los primeros sitios que visites luego tardarán más en cargarse porque tendrán que descargar todos los recursos de nuevo, como si fuera la primera vez.
  • Pérdida de ciertas configuraciones guardadas, como contraseñas o preferencias de sesión. Muchas aplicaciones pueden requerir reautenticación o la regeneración de datos de usuario.
  • Mayor uso de ancho de banda y datos móviles al tener que volver a descargar todos los elementos de la red. Esto puede ser un problema si tienes una tarifa limitada o conexión lenta.

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