Classes

  ClassDescription
CachedItem
An item of cached data, timestamped with the time it was cached, when it was locked, when it was unlocked
CacheException
Represents any exception from an ICache.
CacheFactory
Factory class for creating an ICacheConcurrencyStrategy.
CacheKey
Allows multiple entity classes / collection roles to be stored in the same cache region. Also allows for composite keys which do not properly implement equals()/hashCode().
CacheLock
A soft lock which supports concurrent locking, timestamped with the time it was released
FilterKey
HashtableCache
A simple Hashtable-based cache
HashtableCacheProvider
Cache Provider plugin for NHibernate that is configured by using hibernate.cache.provider_class="NHibernate.Cache.HashtableCacheProvider"
NoCacheProvider
A cache provider placeholder used when caching is disabled.
NoCachingEnabledException
NonstrictReadWriteCache
Caches data that is sometimes updated without ever locking the cache. If concurrent access to an item is possible, this concurrency strategy makes no guarantee that the item returned from the cache is the latest version available in the database. Configure your cache timeout accordingly! This is an "asynchronous" concurrency strategy. for a much stricter algorithm
QueryKey
ReadOnlyCache
Caches data that is never updated
ReadWriteCache
Caches data that is sometimes updated while maintaining the semantics of "read committed" isolation level. If the database is set to "repeatable read", this concurrency strategy almost maintains the semantics. Repeatable read isolation is compromised in the case of concurrent writes. This is an "asynchronous" concurrency strategy.
StandardQueryCache
The standard implementation of the Hibernate IQueryCache interface. This implementation is very good at recognizing stale query results and re-running queries when it detects this condition, recaching the new results.
StandardQueryCacheFactory
Standard Hibernate implementation of the IQueryCacheFactory interface. Returns instances of StandardQueryCache.
Timestamper
Generates increasing identifiers (in a single application domain only).
UpdateTimestampsCache
Tracks the timestamps of the most recent updates to particular tables. It is important that the cache timeout of the underlying cache implementation be set to a higher value than the timeouts of any of the query caches. In fact, we recommend that the the underlying cache not be configured for expiry at all. Note, in particular, that an LRU cache expiry policy is never appropriate.

Interfaces

  InterfaceDescription
ICache
Implementors define a caching algorithm.
ICacheConcurrencyStrategy
Implementors manage transactional access to cached data.
ICacheProvider
Support for pluggable caches
ILockable
Summary description for ILockable.
IQueryCache
Defines the contract for caches capable of storing query results. These caches should only concern themselves with storing the matching result ids. The transactional semantics are necessarily less strict than the semantics of an item cache.
IQueryCacheFactory
Defines a factory for query cache instances. These factories are responsible for creating individual QueryCache instances.
ISoftLock
Marker interface, denoting a client-visible "soft lock" on a cached item.