¿Qué es el caché obsoleto?

Un caché contiene copias de datos almacenados en otro lugar, generalmente en un sistema de memoria “principal” más grande y más lento que podría estar en la misma caja, en la habitación contigua o al otro lado del mundo. Cada vez que se modifica el sistema de memoria principal más grande y lento, se debe actualizar un caché que contenga una copia de estos datos o quedará desactualizado. Alternativamente, los datos simplemente se pueden eliminar de la memoria caché para que cuando se intente un acceso, se extraigan los datos correctos de la ubicación remota. Tenga en cuenta que esto no es trivial, porque probar, detectar y actualizar datos en una memoria caché implica algún retraso. Pero debe existir un mecanismo para garantizar la coherencia de modo que cuando se accede al caché no proporcione datos “obsoletos”. Hasta que los datos en el caché se invaliden o actualicen, se dice que están “obsoletos” y el caché es un “caché obsoleto”.

Actualizar algo en el “sistema de memoria principal” no es instantáneo en el sentido de que hasta que las copias remotas de los datos se actualicen o purguen, se puede acceder a los datos no modificados (obsoletos), creando muchas oportunidades para resultados inconsistentes.