Package io.quarkus.cache
Interface CacheManager
public interface CacheManager
Use this interface to retrieve all existing Cache names and interact with any cache programmatically e.g. store,
retrieve or delete cache values. It shares the same caches collection the Quarkus caching annotations use. The
@io.quarkus.cache.CacheName annotation can also be used to inject and access a specific cache from its name.
Code example:
@Singleton
public class CachedService {
private final CacheManager cacheManager;
public CachedService(CacheManager cacheManager) {
this.cacheManager = cacheManager;
}
String getExpensiveValue(Object key) {
Cache cache = cacheManager.getCache("my-cache");
Uni<String> cacheValue = cache.get(key, () -> expensiveService.getValue(key));
return cacheValue.await().indefinitely();
}
}
-
Method Summary
Modifier and TypeMethodDescriptionGets the cache identified by the given name.Gets a collection of all cache names.
-
Method Details
-
getCacheNames
Collection<String> getCacheNames()Gets a collection of all cache names.- Returns:
- names of all caches
-
getCache
Gets the cache identified by the given name.
-