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

public interface ICache<K,V> extends ICacheType
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.
  • Field Details

  • Method Details

    • update

      void update(ICacheElement<K,V> element) throws IOException
      Puts an item to the cache.
      Parameters:
      element -
      Throws:
      IOException
    • get

      ICacheElement<K,V> get(K key) throws IOException
      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

      boolean remove(K key) throws IOException
      Removes an item from the cache.
      Parameters:
      key -
      Returns:
      false if there was an error in removal
      Throws:
      IOException
    • removeAll

      void removeAll() throws IOException
      Removes all cached items from the cache.
      Throws:
      IOException
    • dispose

      void dispose() throws IOException
      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

      void setKeyMatcher(IKeyMatcher<K> keyMatcher)
      Sets the key matcher used by get matching.
      Parameters:
      keyMatcher -