Apache Ignite.NET
|
Ignite Configuration API. More...
Classes | |
class | CacheConfiguration |
Defines grid cache configuration. More... | |
class | NearCacheConfiguration |
Defines near cache configuration. More... | |
class | QueryAlias |
Represents cache query configuration alias. More... | |
class | QueryEntity |
Query entity is a description of cache entry (composed of key and value) in a way of how it must be indexed and can be queried. More... | |
class | QueryField |
Represents a queryable field. More... | |
class | QueryIndex |
Represents cache query index configuration. More... | |
class | QueryIndexField |
Represents an indexed field. More... | |
class | QuerySqlFieldAttribute |
Marks field or property for SQL queries. More... | |
class | QueryTextFieldAttribute |
Marks field or property for Text queries. More... | |
Enumerations | |
enum | CacheAtomicityMode { CacheAtomicityMode.Transactional, CacheAtomicityMode.Atomic } |
Cache atomicity mode. More... | |
enum | CacheAtomicWriteOrderMode { CacheAtomicWriteOrderMode.Clock, CacheAtomicWriteOrderMode.Primary } |
Cache write ordering mode. This enumeration is taken into account only in CacheAtomicityMode.Atomic atomicity mode. Write ordering mode determines which node assigns the write version, sender or the primary node. More... | |
enum | CacheMemoryMode { CacheMemoryMode.OnheapTiered, CacheMemoryMode.OffheapTiered, CacheMemoryMode.OffheapValues } |
Memory modes define whether cache entries are stored on heap memory, offheap memory, or in swap space. More... | |
enum | CacheMode { CacheMode.Local, CacheMode.Replicated, CacheMode.Partitioned } |
Caching modes. More... | |
enum | CacheRebalanceMode { CacheRebalanceMode.Sync, CacheRebalanceMode.Async, CacheRebalanceMode.None } |
Cache rebalance mode. When rebalancing is enabled (i.e. has value other than None), distributed caches will attempt to rebalance all necessary values from other grid nodes. More... | |
enum | CacheWriteSynchronizationMode { CacheWriteSynchronizationMode.FullSync, CacheWriteSynchronizationMode.FullAsync, CacheWriteSynchronizationMode.PrimarySync } |
Mode indicating how Ignite should wait for write replies from other nodes. More... | |
enum | QueryIndexType { QueryIndexType.Sorted, QueryIndexType.FullText, QueryIndexType.Geospatial } |
Query index type. More... | |
Enumerator | |
---|---|
Transactional |
Specifies fully ACID-compliant transactional cache behavior. |
Atomic |
Specifies atomic-only cache behaviour. In this mode distributed transactions and distributed locking are not supported. Disabling transactions and locking allows to achieve much higher performance and throughput ratios. In addition to transactions and locking, one of the main differences to Atomic mode is that bulk writes, such as ICache<TK,TV>.PutAll and ICache<TK,TV>.RemoveAll(System.Collections.Generic.IEnumerable<TK>) methods, become simple batch operations which can partially fail. In case of partial failure, CachePartialUpdateExceptionwill be thrown which will contain a list of keys for which the update failed. It is recommended that bulk writes are used whenever multiple keys need to be inserted or updated in cache, as they reduce number of network trips and provide better performance. Note that even without locking and transactions, Atomic mode still provides full consistency guarantees across all cache nodes. Also note that all data modifications in Atomic mode are guaranteed to be atomic and consistent with writes to the underlying persistent store, if one is configured. |
Enumerator | |
---|---|
OnheapTiered |
Entries will be stored on-heap first. The onheap tiered storage works as follows:
Note that heap memory evictions are handled by configured EvictionPolicy implementation. By default, no eviction policy is enabled, so entries never leave heap memory space unless explicitly removed. |
OffheapTiered |
Works the same as OnheapTiered, except that entries never end up in heap memory and get stored in offheap memory right away. Entries get cached in offheap memory first and then get evicted to swap, if one is configured. |
OffheapValues |
Entry keys will be stored on heap memory, and values will be stored in offheap memory. Note that in this mode entries can be evicted only to swap. |
Enumerator | |
---|---|
Local |
Specifies local-only cache behaviour. In this mode caches residing on different grid nodes will not know about each other. Other than distribution, Local caches still have all the caching features, such as eviction, expiration, swapping, querying, etc... This mode is very useful when caching read-only data or data that automatically expires at a certain interval and then automatically reloaded from persistence store. |
Replicated |
Specifies fully replicated cache behavior. In this mode all the keys are distributed to all participating nodes. |
Partitioned |
Specifies partitioned cache behaviour. In this mode the overall key set will be divided into partitions and all partitions will be split equally between participating nodes. Note that partitioned cache is always fronted by local 'near' cache which stores most recent data. |
Replicated caches will try to load the full set of cache entries from other nodes, while partitioned caches will only load the entries for which current node is primary or backup.
Note that rebalance mode only makes sense for CacheMode.Replicated and CacheMode.Partitioned caches. Caches with CacheMode.Local mode are local by definition and therefore cannot rebalance any values from neighboring nodes.
Enumerator | |
---|---|
FullSync |
Mode indicating that Ignite should wait for write or commit replies from all nodes. This behavior guarantees that whenever any of the atomic or transactional writes complete, all other participating nodes which cache the written data have been updated. |
FullAsync |
Flag indicating that Ignite will not wait for write or commit responses from participating nodes, which means that remote nodes may get their state updated a bit after any of the cache write methods complete, or after Transaction#commit() method completes. |
PrimarySync |
This flag only makes sense for CacheMode#PARTITIONED mode. When enabled, Ignite will wait for write or commit to complete on primary node, but will not wait for backups to be updated. |