Package org.nuxeo.ecm.core.cache
Class InMemoryCacheImpl
java.lang.Object
org.nuxeo.ecm.core.cache.AbstractCache
org.nuxeo.ecm.core.cache.InMemoryCacheImpl
- All Implemented Interfaces:
Cache,CacheManagement
Default in memory implementation for cache management based on guava
- Since:
- 6.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final com.google.common.cache.Cache<String,Serializable> Fields inherited from class org.nuxeo.ecm.core.cache.AbstractCache
name, ttl -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGet method to retrieve value from cache Must not raise exception if the key is null, but return nulllonggetSize()Returns this cache size (approximate number of entries), or-1if the number of entries is unknown or too expensive to compute.booleanCheck if a given key is present inside the cache.voidinvalidate(String key) Invalidate the given keyvoidInvalidate all key-value stored in the cachevoidinvalidateLocal(String key) Invalidates the given key locally.voidInvalidates all keys locally.keySet()Returns the set of all keys stored in the cache.voidput(String key, Serializable value) Put method to store aSerializablevaluevoidputLocal(String key, Serializable value) Stores aSerializablevalue into the cache locally.Methods inherited from class org.nuxeo.ecm.core.cache.AbstractCache
getName, start, stop, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.nuxeo.ecm.core.cache.Cache
computeIfAbsent
-
Field Details
-
cache
-
-
Constructor Details
-
InMemoryCacheImpl
-
-
Method Details
-
get
Description copied from interface:CacheGet method to retrieve value from cache Must not raise exception if the key is null, but return null- Parameters:
key- the string key- Returns:
- the
Serializablevalue, return null if the key does not exist or if the key is null
-
keySet
Description copied from interface:CacheReturns the set of all keys stored in the cache.- Returns:
- the
Setof all keys
-
invalidate
Description copied from interface:CacheInvalidate the given key- Parameters:
key- , the key to remove from the cache, if null will do nothing
-
invalidateLocal
Description copied from interface:CacheManagementInvalidates the given key locally. Does not propagate invalidations.- Parameters:
key- the key to remove from the cache
-
invalidateAll
public void invalidateAll()Description copied from interface:CacheInvalidate all key-value stored in the cache -
invalidateLocalAll
public void invalidateLocalAll()Description copied from interface:CacheManagementInvalidates all keys locally. Does not propagate invalidations. -
put
Description copied from interface:CachePut method to store aSerializablevalue- Parameters:
key- the string key, if null, the value will not be storedvalue- the value to store, if null, the value will not be stored
-
putLocal
Description copied from interface:CacheManagementStores aSerializablevalue into the cache locally. Does not propagate invalidations.- Parameters:
key- the keyvalue- the value
-
hasEntry
Description copied from interface:CacheCheck if a given key is present inside the cache. Compared to the get() method, this method must not update internal cache state and change TTL- Parameters:
key- the string key- Returns:
- true if a corresponding entry exists, false otherwise
-
getSize
public long getSize()Description copied from interface:CacheManagementReturns this cache size (approximate number of entries), or-1if the number of entries is unknown or too expensive to compute.- Returns:
- the approximate number of entries, or
-1
-