Interface Cache<K,V>

Type Parameters:
K - K
V - V
All Known Implementing Classes:
MapCache

public interface Cache<K,V>
A Cache efficiently stores temporary objects primarily to improve an application's performance.

Shiro doesn't implement a full Cache mechanism itself, since that is outside the core competency of a Security framework. Instead, this interface provides an abstraction (wrapper) API on top of an underlying cache framework's cache instance (e.g. JCache, Ehcache, JCS, OSCache, JBossCache, TerraCotta, Coherence, GigaSpaces, etc., etc.), allowing a Shiro user to configure any cache mechanism they choose.

Since:
0.2
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Clear all entries from the cache.
    get(K key)
    Returns the Cached value stored under the specified key or null if there is no Cache entry for that key.
    Returns a view of all the keys for entries contained in this cache.
    put(K key, V value)
    Adds a Cache entry.
    remove(K key)
    Remove the cache entry corresponding to the specified key.
    int
    Returns the number of entries in the cache.
    Returns a view of all of the values contained in this cache.
  • Method Details

    • get

      V get(K key) throws CacheException
      Returns the Cached value stored under the specified key or null if there is no Cache entry for that key.
      Parameters:
      key - the key that the value was previous added with
      Returns:
      the cached object or null if there is no entry for the specified key
      Throws:
      CacheException - if there is a problem accessing the underlying cache system
    • put

      V put(K key, V value) throws CacheException
      Adds a Cache entry.
      Parameters:
      key - the key used to identify the object being stored.
      value - the value to be stored in the cache.
      Returns:
      the previous value associated with the given key or null if there was previous value
      Throws:
      CacheException - if there is a problem accessing the underlying cache system
    • remove

      V remove(K key) throws CacheException
      Remove the cache entry corresponding to the specified key.
      Parameters:
      key - the key of the entry to be removed.
      Returns:
      the previous value associated with the given key or null if there was previous value
      Throws:
      CacheException - if there is a problem accessing the underlying cache system
    • clear

      void clear() throws CacheException
      Clear all entries from the cache.
      Throws:
      CacheException - if there is a problem accessing the underlying cache system
    • size

      int size()
      Returns the number of entries in the cache.
      Returns:
      the number of entries in the cache.
    • keys

      Set<K> keys()
      Returns a view of all the keys for entries contained in this cache.
      Returns:
      a view of all the keys for entries contained in this cache.
    • values

      Returns a view of all of the values contained in this cache.
      Returns:
      a view of all of the values contained in this cache.