Guava LoadingCache: ¿Por qué usar refreshAfterWrite y expireAfterWrite juntos?

Leí este documento explicando la memoria caché de guayaba: Caches explicadas . Entiendo lo que están haciendo refreshAfterWrite y expireAfterWrite. Sin embargo, al explicar refreshAfterWrite, el documento también menciona esto:

" Entonces, por ejemplo, puede especificar refreshAfterWrite y expireAfterWrite en la misma caché, de modo que el temporizador de caducidad de una entrada no se restablezca ciegamente cuando una entrada sea elegible para una actualización, por lo que si una entrada no se consulta después de ella es elegible para actualizar, se le permite caducar " .

Esta es la parte que me confunde. Según tengo entendido, si desea que una clave se actualice automáticamente, solo necesita especificar refreshAfterWrite. ¿Por qué incluso queremos usar expireAfterWrite cuando alguna vez se utiliza refreshAfterWrite?

Respuesta 1

estamos ejecutando una aplicación de arranque de primavera con gradle. Para incluir el complemento spring-boot lo agregamos como dependencia: buildscript {dependencies {classpath ("org.springframework.boot: spring -...

El bloque de inicialización estática en la clase no pública Out no se ejecuta, pero se ejecuta el bloque de inicialización estática en la clase estática anidada snOut. ¿Cómo y por qué es esto posible? clase pública ...

¿Por qué la interfaz de la Colección tiene iguales (Object o) y hashCode (), dado que cualquier implementación tendrá esos por defecto (heredado de Object)?

¿Hay alguna manera de eliminar una carpeta del classpath similar a agregar una carpeta en tiempo de ejecución (¿Se puede agregar un directorio a la ruta de clase en tiempo de ejecución?)