package io.ebean.cache;

The cache service for server side caching of beans and query results.
/** * The cache service for server side caching of beans and query results. */
public interface ServerCacheManager {
Return true if the L2 caching is local.

Local L2 caching means that the cache updates should occur in foreground rather than background processing.

/** * Return true if the L2 caching is local. * <p> * Local L2 caching means that the cache updates should occur in foreground * rather than background processing. * </p> */
boolean isLocalL2Caching();
Return the cache for mapping natural keys to id values.
/** * Return the cache for mapping natural keys to id values. */
ServerCache getNaturalKeyCache(Class<?> beanType);
Return the cache for beans of a particular type.
/** * Return the cache for beans of a particular type. */
ServerCache getBeanCache(Class<?> beanType);
Return the cache for associated many properties of a bean type.
/** * Return the cache for associated many properties of a bean type. */
ServerCache getCollectionIdsCache(Class<?> beanType, String propertyName);
Return the cache for query results of a particular type of bean.
/** * Return the cache for query results of a particular type of bean. */
ServerCache getQueryCache(Class<?> beanType);
This clears both the bean and query cache for a given type.
/** * This clears both the bean and query cache for a given type. */
void clear(Class<?> beanType);
Clear all the caches.
/** * Clear all the caches. */
void clearAll();
Clear all the local caches. This is used when the L2 Cache is based on clustered near-caches (Like Ebean-K8s-L2Cache). It is not used when the L2 cache is a distributed cache such as HazelCast or Ignite etc.
/** * Clear all the local caches. * * This is used when the L2 Cache is based on clustered near-caches (Like Ebean-K8s-L2Cache). * It is not used when the L2 cache is a distributed cache such as HazelCast or Ignite etc. */
void clearAllLocal();
Clear the local caches for this bean type. This is used when the L2 Cache is based on clustered near-caches (Like Ebean-K8s-L2Cache). It is not used when the L2 cache is a distributed cache such as HazelCast or Ignite etc.
/** * Clear the local caches for this bean type. * * This is used when the L2 Cache is based on clustered near-caches (Like Ebean-K8s-L2Cache). * It is not used when the L2 cache is a distributed cache such as HazelCast or Ignite etc. */
void clearLocal(Class<?> beanType); }