Interface ICache<K,V>
- All Superinterfaces:
ICacheType
- All Known Subinterfaces:
AuxiliaryCache<K,
,V> IRemoteCacheClient<K,
V>
- All Known Implementing Classes:
AbstractAuxiliaryCache
,AbstractAuxiliaryCacheEventLogging
,AbstractDiskCache
,AbstractRemoteAuxiliaryCache
,AbstractRemoteCacheNoWaitFacade
,BlockDiskCache
,CompositeCache
,IndexedDiskCache
,JDBCDiskCache
,LateralCache
,LateralCacheNoWait
,LateralCacheNoWaitFacade
,MySQLDiskCache
,RemoteCache
,RemoteCacheNoWait
,RemoteCacheNoWaitFacade
,RemoteHttpCache
This is the top level interface for all cache like structures. It defines the methods used
internally by JCS to access, modify, and instrument such structures.
This allows for a suite of reusable components for accessing such structures, for example
asynchronous access via an event queue.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.commons.jcs3.engine.behavior.ICacheType
ICacheType.CacheType
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionvoid
dispose()
Prepares for shutdown.Gets an item from the cache.Returns the cache name.Map<K,
ICacheElement<K, V>> getMatching
(String pattern) Gets items from the cache matching the given pattern.Map<K,
ICacheElement<K, V>> getMultiple
(Set<K> keys) Gets multiple items from the cache based on the given set of keys.int
getSize()
Returns the current cache size in number of elements.getStats()
Returns the cache stats.Returns the cache status.boolean
Removes an item from the cache.void
Removes all cached items from the cache.void
setKeyMatcher
(IKeyMatcher<K> keyMatcher) Sets the key matcher used by get matching.void
update
(ICacheElement<K, V> element) Puts an item to the cache.Methods inherited from interface org.apache.commons.jcs3.engine.behavior.ICacheType
getCacheType
-
Field Details
-
NAME_COMPONENT_DELIMITER
Delimiter of a cache name component. This is used for hierarchical deletion- See Also:
-
-
Method Details
-
update
Puts an item to the cache.- Parameters:
element
-- Throws:
IOException
-
get
Gets an item from the cache.- Parameters:
key
-- Returns:
- a cache element, or null if there is no data in cache for this key
- Throws:
IOException
-
getMultiple
Gets multiple items from the cache based on the given set of keys.- Parameters:
keys
-- Returns:
- a map of K key to ICacheElement<K, V> element, or an empty map if there is no data in cache for any of these keys
- Throws:
IOException
-
getMatching
Gets items from the cache matching the given pattern. Items from memory will replace those from remote sources. This only works with string keys. It's too expensive to do a toString on every key. Auxiliaries will do their best to handle simple expressions. For instance, the JDBC disk cache will convert * to % and . to _- Parameters:
pattern
-- Returns:
- a map of K key to ICacheElement<K, V> element, or an empty map if there is no data matching the pattern.
- Throws:
IOException
-
remove
Removes an item from the cache.- Parameters:
key
-- Returns:
- false if there was an error in removal
- Throws:
IOException
-
removeAll
Removes all cached items from the cache.- Throws:
IOException
-
dispose
Prepares for shutdown.- Throws:
IOException
-
getSize
int getSize()Returns the current cache size in number of elements.- Returns:
- number of elements
-
getStatus
Returns the cache status.- Returns:
- Alive or Error
-
getStats
Returns the cache stats.- Returns:
- String of important historical information.
-
getCacheName
Returns the cache name.- Returns:
- usually the region name.
-
setKeyMatcher
Sets the key matcher used by get matching.- Parameters:
keyMatcher
-
-