Interface ICacheServiceNonLocal<K,V>
- All Superinterfaces:
ICacheService<K,
,V> Remote
- All Known Subinterfaces:
IRemoteCacheServer<K,
,V> IRemoteHttpCacheClient<K,
V>
- All Known Implementing Classes:
AbstractRemoteCacheService
,LateralTCPService
,RemoteCacheServer
,RemoteHttpCacheClient
,RemoteHttpCacheService
,ZombieCacheServiceNonLocal
Used to retrieve and update non local caches, such as the remote and lateral caches. Unlike
ICacheService, the methods here have a requester id. This allows us to avoid propagating events
to ourself.
TODO consider not extending ICacheService
-
Method Summary
Modifier and TypeMethodDescriptionReturns a cache bean from the specified cache; or null if the key does not exist.Get a set of the keys for all elements in the cache.Map<K,
ICacheElement<K, V>> getMatching
(String cacheName, String pattern, long requesterId) Gets multiple items from the cache matching the pattern.Map<K,
ICacheElement<K, V>> getMultiple
(String cacheName, Set<K> keys, long requesterId) Gets multiple items from the cache based on the given set of keys.void
Removes the given key from the specified cache.void
Remove all keys from the specified cache.void
update
(ICacheElement<K, V> item, long requesterId) Puts a cache item to the cache.Methods inherited from interface org.apache.commons.jcs3.engine.behavior.ICacheService
dispose, get, getMatching, getMultiple, release, remove, removeAll, update
-
Method Details
-
update
Puts a cache item to the cache.- Parameters:
item
-requesterId
-- Throws:
IOException
-
remove
Removes the given key from the specified cache.- Parameters:
cacheName
-key
-requesterId
-- Throws:
IOException
-
removeAll
Remove all keys from the specified cache.- Parameters:
cacheName
-requesterId
-- Throws:
IOException
-
get
Returns a cache bean from the specified cache; or null if the key does not exist.Adding the requester id, allows the cache to determine the source of the get.
- Parameters:
cacheName
-key
-requesterId
-- Returns:
- ICacheElement
- Throws:
IOException
-
getMultiple
Map<K,ICacheElement<K, getMultipleV>> (String cacheName, Set<K> keys, long requesterId) throws IOException Gets multiple items from the cache based on the given set of keys.- Parameters:
cacheName
-keys
-requesterId
-- 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
Map<K,ICacheElement<K, getMatchingV>> (String cacheName, String pattern, long requesterId) throws IOException Gets multiple items from the cache matching the pattern.- Parameters:
cacheName
-pattern
-requesterId
-- Returns:
- a map of K key to ICacheElement<K, V> element, or an empty map if there is no data in cache matching the pattern.
- Throws:
IOException
-
getKeySet
Get a set of the keys for all elements in the cache.- Parameters:
cacheName
- the name of the cache- Returns:
- a set of the key type TODO This should probably be done in chunks with a range passed in. This will be a problem if someone puts a 1,000,000 or so items in a region.
- Throws:
IOException
-