Que é un caché?

Cando se solicitan datos de calquera fonte, sempre hai algún atraso. O ping aos servidores web mídese en milisegundos, o tempo de acceso ao almacenamento pode ter latencias en microsegundos mentres que a latencia da RAM mídese en ciclos de reloxo da CPU. Por suposto, este tipo de velocidades serían impensables hai só unhas décadas, pero no presente nunca son o suficientemente rápidas. A velocidade de acceso é regularmente algunha forma de pescozo de botella no rendemento. Unha das formas en que se pode solucionar isto é co caché.

O caché é un proceso de almacenamento dunha copia temporal dun recurso de forma que se poida acceder a el máis rápido do que podería ser normalmente. Hai unha gran variedade de implementacións tanto en software como en hardware. Os cachés poden actuar como cachés de lectura, cachés de escritura ou ambos.

Ler cachés

Nunha caché de lectura os datos que se solicitaron anteriormente almacénanse nunha caché para un acceso máis rápido. Nalgúns escenarios, a caché pode incluso cargarse de forma preventiva con datos, permitindo que a primeira solicitude sexa servida desde a caché en lugar de só solicitudes posteriores.

A caché de lectura coa que é máis probable que estea familiarizado é a caché do navegador. Aquí o navegador almacena unha copia local dos recursos solicitados. Isto significa que se e cando se recarga a páxina web ou se carga unha páxina similar que utiliza gran parte do mesmo contido, ese contido pódese servir desde a caché en lugar do servidor web. Isto non só significa que a páxina web pode cargar máis rápido, senón que tamén reduce a carga do servidor web e reduce a cantidade de datos que o usuario necesita descargar, o que pode ser importante nas conexións con contador.

A propia RAM tamén actúa como caché de lectura para os datos do disco duro. Neste caso, os datos dun programa en execución cárganse de forma preventiva na RAM para que a CPU poida acceder a el máis rápido. A continuación, os datos da memoria RAM almacénanse na memoria caché da CPU, aínda que o proceso é moito máis complexo xa que a caché da CPU mídese en megabytes e non en gigabytes.

Escribir cachés

Unha caché de escritura é unha caché que pode absorber datos que se escriben nun dispositivo máis lento. Un exemplo común disto sería a caché SLC nos SSD modernos. Esta caché non permite ler datos máis rápido, non obstante, escribir é moito máis rápido que escribir no flash TLC ou QLC que compoñen o resto do SSD. A caché SLC pode absorber operacións de escritura de alta velocidade e, a continuación, descarga eses datos en canto pode ao flash TLC, que ofrece unha densidade de almacenamento moito mellor, pero tamén é moito máis lento para escribir. Usar a memoria flash deste xeito optimízaa tanto para velocidades de escritura rápidas como para alta densidade de almacenamento.

Cachés híbridos

Hai moitas formas de manexar as cachés que lles permiten actuar como caché de lectura e escritura. Cada un destes métodos manexa as operacións de escritura de forma diferente e ten vantaxes e inconvenientes. As tres opcións son a redacción, a redacción e a reescritura. Unha caché de escritura omite completamente a caché ao escribir, a caché de escritura escribe na caché pero só considera a operación completa cando se escribiu no almacenamento. A caché de reescritura escribe na caché e despois considera a operación completa, confiando na caché para transferila ao almacenamento se é necesario.

A escritura pode ser útil se esperas un gran volume de escrituras, xa que minimiza o abandono da caché. Non obstante, significa que unha operación que despois lea calquera destes datos escritos terá polo menos un fallo de caché a primeira vez. Os cachés de escritura caché inmediatamente as operacións de escritura, o que significa que o resultado pódese servir desde a caché a primeira vez que se solicita. Non obstante, para que se considere completa, unha operación de escritura tamén debe escribir os datos no disco, o que engade latencia. Unha caché de escritura inversa ten o mesmo beneficio que unha caché de escritura, permitindo que os datos escritos sexan inmediatamente servidos desde a caché. Non obstante, non require operacións de escritura para escribir no disco para que se considere completa. Isto reduce a latencia de escritura, pero conleva o risco de perda de datos se a caché é volátil e non remata de escribir os datos no almacenamento antes de que se perda a enerxía.

Como eliminar datos da caché?

Un dos factores limitantes de calquera caché é a capacidade. Unha caché grande leva moito tempo para buscar, o que anula unha boa parte da vantaxe de usar unha caché en primeiro lugar. As tecnoloxías de memoria utilizadas para almacenar na caché tamén adoitan ser máis caras que a memoria na que se almacenan na caché. Se non fose así, é probable que ese nivel de memoria cambiase as tecnoloxías de memoria para mellorar o rendemento. Estes dous factores significan que as cachés tenden a ser relativamente pequenas, especialmente cando se comparan co medio de almacenamento no que se almacenan na caché. A memoria RAM ten menos capacidade que o almacenamento e a caché da CPU ten menos capacidade que a RAM. A caché SLC ten menos capacidade que a memoria TLC.

Todo isto significa que moitas veces é necesario sacar os datos da caché para liberar espazo para novos datos que hai que almacenar na caché. Hai unha variedade de enfoques diferentes para isto. "Utilizado menos frecuentemente", prefire expulsar as entradas da caché que teñan o menor número de accesos. Isto pode ser útil para predicir cales son as entradas que terán o menor efecto nos futuros fallos da caché, pero tamén contaría que as entradas engadidas recentemente teñen un número reducido de accesos, o que pode provocar a eliminación da caché.

"Usado menos recentemente" prefire expulsar as entradas da caché que non se usaban dende hai tempo. Isto supón que non se están a usar actualmente, pero non se ten en conta se foron moi utilizados hai tempo. "Utilizados máis recentemente" prefire desaloxar as entradas de caché usadas máis recentemente, asumindo que se usaron e non terán que ser usadas de novo. O mellor enfoque é xeralmente unha combinación dos tres, informada polas estatísticas de uso.

Información obsoleta e riscos de seguridade

O principal risco dos cachés é que a información que conteñen poida quedar obsoleta. Unha entrada da caché considérase obsoleta cando se actualizaron os datos orixinais deixando a entrada da caché desactualizada. É importante verificar regularmente que a copia en directo que se serve aínda coincide coa copia almacenada na caché.

En sitios web específicamente, tamén é moi importante identificar que datos se poden almacenar na caché e que non. Por exemplo, está perfectamente almacenado na memoria caché un ficheiro JavaScript grande e inalterable. Isto aforra o usuario de descargalo cada vez, e mesmo pode beneficiar a outros usuarios atendidos pola mesma caché. Non obstante, non pode almacenar na caché os datos específicos da sesión. Imaxina o que pasaría se navegases ata unha aplicación de mensaxería mentres iniciases sesión como ti mesmo, só para descubrir que recibiches unha versión almacenada na caché das mensaxes doutro usuario. Afortunadamente, os servidores web poden especificar cales son os recursos que se poden almacenar na caché e que non se poden almacenar en caché e estes problemas son xeralmente coñecidos polo que hai poucos problemas coma este.

Conclusión

Unha caché é unha parte da memoria que pode almacenar algúns datos usados ​​recentemente nun método de almacenamento ao que se accede máis rápido do que sería para completar de novo o proceso normal de acceso aos datos. A caché adoita ter unha capacidade limitada, o que significa que necesita expulsar as entradas unha vez que está chea. Os cachés son xeralmente transparentes para o usuario, o que significa que a latencia é a única indicación de que o resultado foi servido a través dunha caché.


Que é SMPS?

Que é SMPS?

Aprende o que é SMPS e o significado das diferentes clasificacións de eficiencia antes de escoller un SMPS para o teu ordenador.

Que é a seguridade baseada no illamento?

Que é a seguridade baseada no illamento?

Imos afondar nun tema cada vez máis importante no mundo da ciberseguridade: a seguridade baseada no illamento. Este enfoque para

Como usar o clic automático para Chromebook

Como usar o clic automático para Chromebook

Hoxe imos afondar nunha ferramenta que pode automatizar tarefas de clic repetitivos no teu Chromebook: o Clicker automático. Esta ferramenta pode aforrar tempo e

Roomba detén, pégase e dá a volta - Solución

Roomba detén, pégase e dá a volta - Solución

Resolve un problema no que o teu robot aspirador Roomba se detén, se pega e segue xirando.

Por que o meu Chromebook non se acende

Por que o meu Chromebook non se acende

Obtén respostas á pregunta Por que non se acende o meu Chromebook? Nesta guía útil para usuarios de Chromebook.

Como cambiar a configuración gráfica en Steam Deck

Como cambiar a configuración gráfica en Steam Deck

O Steam Deck ofrece unha experiencia de xogo robusta e versátil ao teu alcance. Non obstante, para optimizar o teu xogo e garantir o mellor posible

Como cambiar a cara do reloxo nun Fitbit Versa 4

Como cambiar a cara do reloxo nun Fitbit Versa 4

Cambia a esfera do teu Fitbit Versa 4 para darlle ao teu reloxo un aspecto diferente todos os días de forma gratuíta. Mira o rápido e sinxelo que é.

Como denunciar estafas de phishing a Google

Como denunciar estafas de phishing a Google

Aprende a denunciar a un estafador a Google para evitar que estafe a outros con esta guía.

Como eliminar unha GPU do PC con Windows en 2023

Como eliminar unha GPU do PC con Windows en 2023

Necesitas eliminar a GPU do teu PC? Únete a min mentres explico como eliminar unha GPU do teu PC nesta guía paso a paso.

Que é o Shoulder Surf?

Que é o Shoulder Surf?

O hombro surf é unha clase de ataque de enxeñería social. Implica que un atacante recompila información mirando a túa pantalla.