Namespace Apache.Ignite.Core.Cache
Classes
CacheEntryProcessorException
An exception to indicate a problem occurred attempting to execute an ICacheEntryProcessor<TK, TV, TArg, TRes> against an entry.
CacheException
Indicates an error during Cache operation.
CachePartialUpdateException
Exception thrown from non-transactional cache in case when update succeeded only partially.
Structs
CacheResult<T>
Represents a cache operation result with a success flag.
Interfaces
ICache<TK, TV>
Main entry point for Ignite cache APIs. You can get a named cache by calling GetCache<TK, TV>(String) method.
Cache API supports distributed transactions. All Get(...)
, Put(...)
, Replace(...)
,
and Remove(...)
operations are transactional and will participate in an ongoing transaction,
if any. Other methods like Peek(...)
or various Contains(...)
methods may
be transaction-aware, i.e. check in-transaction entries first, but will not affect the current
state of transaction. See ITransaction documentation for more information
about transactions.
Neither null
keys or values are allowed to be stored in cache. If a null
value
happens to be in cache (e.g. after invalidation or remove), then cache will treat this case
as there is no value at all.
Note that cache is generic and you can only work with provided key and value types. If cache also
contains keys or values of other types, any attempt to retrieve them will result in
All members are thread-safe and may be used concurrently from multiple threads.
ICacheAffinity
Provides affinity information to detect which node is primary and which nodes are backups for a partitioned cache. You can get an instance of this interface by calling GetAffinity(String) method.
Mapping of a key to a node is a three-step operation. First step will get an affinity key for
given key using CacheAffinityKeyMapper
. If mapper is not specified, the original key
will be used. Second step will map affinity key to partition using
CacheAffinityFunction.partition(Object)
method. Third step will map obtained partition
to nodes for current grid topology version.
Interface provides various mapKeysToNodes(...)
methods which provide node affinity mapping
for given keys. All mapKeysToNodes(...)
methods are not transactional and will not enlist
keys into ongoing transaction.
All members are thread-safe and may be used concurrently from multiple threads.
ICacheEntry<TK, TV>
Cache entry interface.
ICacheEntryFilter<TK, TV>
Cache entry predicate.
ICacheEntryProcessor<TK, TV, TArg, TRes>
An invocable function that allows applications to perform compound operations on a cache entry atomically, according the defined consistency of a cache.
Any cache entry mutations will not take effect until after the Process(IMutableCacheEntry<TK, TV>, TArg) method has completedS execution.
If an exception is thrown by an entry processor, a Caching Implementation must wrap any exception thrown wrapped in an CacheEntryProcessorException If this occurs no mutations will be made to the cache entry.
ICacheEntryProcessorResult<TK, T>
Represents a result of processing ICacheEntry<TK, TV> by ICacheEntryProcessor<TK, TV, TArg, TRes>.
ICacheLock
Cache locking interface.
All members are thread-safe and may be used concurrently from multiple threads.
ICacheMetrics
Cache metrics used to obtain statistics on cache itself.
IMemoryMetrics
Memory usage metrics. Obsolete, use IDataRegionMetrics.
IMutableCacheEntry<TK, TV>
Mutable representation of ICacheEntry<TK, TV>
IQueryMetrics
Cache query metrics used to obtain statistics on query.
Enums
CachePeekMode
Enumeration of all supported cache peek modes.