Show / Hide Table of Contents

# Namespace Apache.Ignite.Core.Cache.Configuration

### Classes

#### CacheConfiguration

Defines grid cache configuration.

#### CacheKeyConfiguration

Configuration defining various aspects of cache keys without explicit usage of annotations on user classes.

#### MemoryConfiguration

A page memory configuration for an Apache Ignite node. The page memory is a manageable off-heap based memory architecture that divides all continuously allocated memory regions into pages of fixed size. An individual page can store one or many cache key-value entries that allows reusing the memory in the most efficient way and avoid memory fragmentation issues.

By default, the page memory allocates a single continuous memory region. All the caches that will be configured in an application will be mapped to this memory region by default, thus, all the cache data will reside in that memory region.

If initial size of the default memory region doesn't satisfy requirements or it's required to have multiple memory regions with different properties then MemoryPolicyConfiguration can be used for both scenarios. For instance, using memory policies you can define memory regions of different maximum size, eviction policies, swapping options, etc. Once you define a new memory region you can bind particular Ignite caches to it.

To learn more about memory policies refer to MemoryPolicyConfiguration documentation.

Obsolete, use DataStorageConfiguration.

#### MemoryPolicyConfiguration

Defines page memory policy configuration. See MemoryPolicies. Obsolete, use DataRegionConfiguration.

#### NearCacheConfiguration

Defines near cache configuration.

Distributed cache can also be fronted by a Near cache, which is a smaller local cache that stores most recently or most frequently accessed data. Just like with a partitioned cache, the user can control the size of the near cache and its eviction policies.

#### PlatformCacheConfiguration

Native .NET cache configuration.

Enables native .NET cache. Cache entries will be stored in deserialized form in CLR heap.

When enabled on server nodes, all primary keys will be stored in platform memory as well.

Same eviction policy applies to near cache entries for all keys on client nodes and non-primary keys on server nodes.

Enabling this can greatly improve performance for key-value operations and scan queries, at the expense of RAM usage.

Supported operations (async counterparts included):

- Get(TK), TryGet(TK, out TV)
- GetAll(IEnumerable<TK>)
- ContainsKey(TK), ContainsKeys(IEnumerable<TK>)
- LocalPeek(TK, CachePeekMode[]), TryLocalPeek(TK, out TV, CachePeekMode[])
- GetLocalEntries(CachePeekMode[])
- GetLocalSize(CachePeekMode[])
- Query(QueryBase) with ScanQuery<TK, TV>

#### QueryAlias

Represents cache query configuration alias.

#### 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.

#### QueryField

Represents a queryable field.

#### QueryIndex

Represents cache query index configuration.

#### QueryIndexField

Represents an indexed field.

#### QuerySqlFieldAttribute

Marks field or property for SQL queries.

Using this attribute is an alternative to Fields in CacheConfiguration.

#### QueryTextFieldAttribute

Marks field or property for Text queries.

Using this attribute is an alternative to Fields in CacheConfiguration.

### Enums

#### CacheAtomicityMode

Cache atomicity mode.

#### CacheMode

Caching modes.

#### CacheRebalanceMode

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.

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 Replicated and Partitioned caches. Caches with Local mode are local by definition and therefore cannot rebalance any values from neighboring nodes.

#### CacheWriteSynchronizationMode

Mode indicating how Ignite should wait for write replies from other nodes.

#### DataPageEvictionMode

Memory page eviction mode. Only data pages, that store key-value entries, are eligible for eviction. The other types of pages, like index or system pages, are not evictable.

#### PartitionLossPolicy

Partition loss policy. Defines how cache will behave in a case when one or more partitions are lost because of a node(s) failure.

All Safe policies prevent a user from interaction with partial data in lost partitions until ResetLostPartitions(IEnumerable<String>) method is called.

*All policies allow working with partial data in lost partitions.

ReadOnly and ReadWrite* policies do not automatically change partition state and thus do not change rebalancing assignments for such partitions.

#### QueryIndexType

Query index type.