google for example cache java caching hashmap guava

java - for - guava maven



Eliminar elementos de Guava Cache (2)

Estoy usando import com.google.common.cache.Cache

He iniciado el caché de esta manera:

private Cache<String,String> mycache =CacheBuilder.newBuilder() .concurrencyLevel(4).expireAfterAccess(30, TimeUnit.MINUTES).build();

Estoy dispuesto a eliminar las entradas manualmente en algunos escenarios antes de esperar la caducidad.

La única manera que encontré para hacer esto fue esta:

mycache.asMap().remove("somekey");

Estoy preguntando si esa es la forma correcta de hacer esto? ¿Voy a tener algún problema con eso?


Debe usar el método de invalidate(key) para eliminar elementos individuales. Para la eliminación masiva, puede usar el método de invalidateAll(keys)

En tu caso puedes usar

mycache.invalidate("somekey");

Espero que esto resuelva tu problema.


La forma correcta de hacerlo sería utilizar el método de invalidate :

mycache.invalidate("somekey");

Como se especifica en la documentación de la API :

void invalidate(Object key)
Descarta cualquier valor almacenado en caché por clave key .