¿Estoy interesado en el caché de memoria de Chrome vs el caché de disco? Utilizo webpack, plugin de fragmentos comunes y genero todos mis archivos con chunkhash.
¿En qué se diferencia la memoria del caché de disco? Cuando recargo mi página, algunos archivos se cargan desde la memoria caché y algunos desde la memoria caché del disco (bundle.js e image.jpg desde la memoria caché y css desde la memoria caché). A veces es diferente. ¿Podemos controlar eso, elegir qué se carga desde dónde? La memoria caché parece ser más rápida que la memoria caché en disco.
google-chrome
caching
webpack
Igor-Vuk
fuente
fuente
Respuestas:
Como decían sus nombres:
"Memory Cache" almacena y carga recursos hacia y desde la memoria (RAM). Entonces esto es mucho más rápido pero no persistente. El contenido está disponible hasta que cierre el navegador.
"Disk Cache" es persistente. Los recursos en caché se almacenan y cargan desde y hacia el disco.
Prueba simple: Abra Chrome Developer Tools / Network. Vuelve a cargar una página varias veces. La columna de la tabla "Tamaño" le indicará que algunos archivos se cargan "desde la memoria caché". Ahora cierre el navegador, abra Developer Tools / Network nuevamente y cargue esa página nuevamente. Todos los archivos en caché se cargan "desde el caché de disco" ahora, porque su caché de memoria está vacío.
fuente
Chrome implementa cachés en muchos niveles de abstracción. En el núcleo está la caché HTTP (navegador), un backend para otros mecanismos de almacenamiento en caché. Generalmente, los cachés se pueden dividir en:
Caché HTTP
Cada solicitud que se realiza a través de la red es proxy de HTTP Cache que se adhiere a RFC . Cuando se solicita por primera vez, se sobrescribe la caché. Los recursos están codificados por la URL de origen.
Caché de trabajador de servicio
Para manejar con elegancia los fallos de conexión de red, puede utilizar Service Workers . Los cachés y el almacenamiento en caché se volverían a tomar del disco.
Caché de parpadeo
Blink usa Http Cache como backend en dos modos de creación: en memoria y simple (sistema de archivos). Cuál se usa depende del límite establecido globalmente para los cachés cuánta memoria pueden tomar. Además, el caché del renderizador actual es el que más se comparte. Lo que se almacena en caché son fuentes, imágenes y scripts. Si el uso de la memoria global alcanza un umbral especificado, se usa el backend del sistema de archivos.
Forzar en la memoria caché
Si desea que sus archivos se sirvan desde la memoria que anula el mecanismo predeterminado, puede implementar su propio Service Worker. Con File Api, los recursos se pueden leer y almacenar en un objeto en la memoria. Luego, anular el evento de recuperación suprimiría la red y las lecturas de archivos con contenido servido desde este objeto global.
fuente