Memcached proporciona una opción de tiempo de caducidad de caché, que especifica cuánto tiempo se retienen los objetos en el caché. Suponiendo que todas las escrituras se realicen a través del caché, no entiendo por qué alguna vez querría eliminar un objeto de la caché. En otras palabras, si todas las operaciones de escritura actualizan la memoria caché antes de la base de datos, entonces la memoria caché nunca puede contener un objeto obsoleto, entonces ¿por qué eliminarlo?tiempo de caducidad de memcached
Un posible argumento es que la caché crecerá indefinidamente si los objetos nunca se eliminan, pero la memoria caché le permite especificar un tamaño máximo. Una vez que se alcanza este tamaño, Memcached usa un algoritmo utilizado menos recientemente (LRU) para determinar qué elementos eliminar. En resumen, si se ha configurado un tamaño máximo razonable y todas las escrituras están en la memoria caché, ¿por qué desea caducar los objetos después de un cierto período de tiempo?
Gracias, Don
He leído que a veces las claves no expiradas pueden eliminarse de la memoria caché antes de que caduquen las teclas, lo que supone un sacrificio para mantener el algoritmo LRU de depuración de caché eficiente. En otras palabras, * no hay * una distinción entre 'Uso menos reciente' y 'No va a usarse más'. Las claves caducadas no se eliminan cuando caducan, pero * se * purgarán la próxima vez que entre una solicitud de obtención. Entonces, en resumen, establecer fechas de caducidad no necesariamente ayuda a "dejar más espacio" para las llaves que no han vencido. –