﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.7.0/dotnetdoc/api/Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class CacheConfiguration
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class CacheConfiguration
   | Apache Ignite.NET ">
    <meta name="generator" content="docfx 2.24.0.0">
    
    <link rel="shortcut icon" href="../images/favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    <meta property="docfx:rel" content="../">
    
  
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
  <body data-spy="scroll" data-target="#affix">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../images/logo_ignite_32_32.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items"></div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration">
  
  
  <h1 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration" class="text-break">Class CacheConfiguration
  </h1>
  <div class="markdown level0 summary"><p>Defines grid cache configuration.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><span class="xref">CacheConfiguration</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <span class="xref">System.Object.ToString()</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.html">Apache.Ignite.Core.Cache.Configuration</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class CacheConfiguration : IBinaryRawWriteAwareEx&lt;BinaryWriter&gt;</code></pre>
  </div>
  <h3 id="constructors">Constructors
  </h3>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration__ctor_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration__ctor" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.#ctor">CacheConfiguration()</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html">CacheConfiguration</a> class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public CacheConfiguration()</code></pre>
  </div>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration__ctor_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration__ctor_Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.#ctor(Apache.Ignite.Core.Cache.Configuration.CacheConfiguration)">CacheConfiguration(CacheConfiguration)</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html">CacheConfiguration</a> class,
performing a deep copy of specified cache configuration.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public CacheConfiguration(CacheConfiguration other)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html">CacheConfiguration</a></td>
        <td><span class="parametername">other</span></td>
        <td><p>The other configuration to perfrom deep copy from.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration__ctor_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration__ctor_System_String_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.#ctor(System.String)">CacheConfiguration(String)</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html">CacheConfiguration</a> class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public CacheConfiguration(string name)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Cache name.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration__ctor_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration__ctor_System_String_Apache_Ignite_Core_Cache_Configuration_QueryEntity___" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.#ctor(System.String,Apache.Ignite.Core.Cache.Configuration.QueryEntity[])">CacheConfiguration(String, QueryEntity[])</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html">CacheConfiguration</a> class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public CacheConfiguration(string name, params QueryEntity[] queryEntities)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Cache name.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Configuration.QueryEntity.html">QueryEntity</a>[]</td>
        <td><span class="parametername">queryEntities</span></td>
        <td><p>Query entities.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration__ctor_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration__ctor_System_String_System_Type___" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.#ctor(System.String,System.Type[])">CacheConfiguration(String, Type[])</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html">CacheConfiguration</a> class 
and populates <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_QueryEntities">QueryEntities</a> according to provided query types.
This constructor is depricated, please use <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration__ctor_System_String_Apache_Ignite_Core_Cache_Configuration_QueryEntity___">CacheConfiguration(String, QueryEntity[])</a></p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;This constructor is deprecated, please use CacheConfiguration(string, QueryEntity[]) instead.&quot;)]
public CacheConfiguration(string name, params Type[] queryTypes)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Cache name.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Type</span>[]</td>
        <td><span class="parametername">queryTypes</span></td>
        <td><p>Collection of types to be registered as query entities. These types should use 
<a class="xref" href="Apache.Ignite.Core.Cache.Configuration.QuerySqlFieldAttribute.html">QuerySqlFieldAttribute</a> to configure query fields and properties.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="fields">Fields
  </h3>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultAtomicityMode" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultAtomicityMode">DefaultAtomicityMode</h4>
  <div class="markdown level1 summary"><p>Default atomicity mode. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const CacheAtomicityMode DefaultAtomicityMode = CacheAtomicityMode.Atomic</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheAtomicityMode.html">CacheAtomicityMode</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultBackups" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultBackups">DefaultBackups</h4>
  <div class="markdown level1 summary"><p>Default number of backups. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultBackups = 0</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultCacheMode" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultCacheMode">DefaultCacheMode</h4>
  <div class="markdown level1 summary"><p>Default caching mode. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const CacheMode DefaultCacheMode = CacheMode.Partitioned</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheMode.html">CacheMode</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultCacheSize" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultCacheSize">DefaultCacheSize</h4>
  <div class="markdown level1 summary"><p>Default cache size to use with eviction policy. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultCacheSize = 100000</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultCopyOnRead" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultCopyOnRead">DefaultCopyOnRead</h4>
  <div class="markdown level1 summary"><p>Default value for &apos;copyOnRead&apos; flag. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultCopyOnRead = true</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultEagerTtl" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultEagerTtl">DefaultEagerTtl</h4>
  <div class="markdown level1 summary"><p>Default value for eager ttl flag. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultEagerTtl = true</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultEncryptionEnabled" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultEncryptionEnabled">DefaultEncryptionEnabled</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_EncryptionEnabled">EncryptionEnabled</a>. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultEncryptionEnabled = false</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultInvalidate" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultInvalidate">DefaultInvalidate</h4>
  <div class="markdown level1 summary"><p>Default value for &apos;invalidate&apos; flag that indicates if this is invalidation-based cache. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultInvalidate = false</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultKeepBinaryInStore" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultKeepBinaryInStore">DefaultKeepBinaryInStore</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_KeepBinaryInStore">KeepBinaryInStore</a> property.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultKeepBinaryInStore = false</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultKeepVinaryInStore" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultKeepVinaryInStore">DefaultKeepVinaryInStore</h4>
  <div class="markdown level1 summary"><p>Default value for keep portable in store behavior .</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;Use DefaultKeepBinaryInStore instead.&quot;)]
public const bool DefaultKeepVinaryInStore = true</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultLoadPreviousValue" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultLoadPreviousValue">DefaultLoadPreviousValue</h4>
  <div class="markdown level1 summary"><p>Default value for load previous value flag. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultLoadPreviousValue = false</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultLockTimeout" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultLockTimeout">DefaultLockTimeout</h4>
  <div class="markdown level1 summary"><p>Default lock timeout. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultLockTimeout</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultLongQueryWarningTimeout" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultLongQueryWarningTimeout">DefaultLongQueryWarningTimeout</h4>
  <div class="markdown level1 summary"><p>Default timeout after which long query warning will be printed. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultLongQueryWarningTimeout</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultMaxConcurrentAsyncOperations" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultMaxConcurrentAsyncOperations">DefaultMaxConcurrentAsyncOperations</h4>
  <div class="markdown level1 summary"><p>Default value for &apos;maxConcurrentAsyncOps&apos;. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultMaxConcurrentAsyncOperations = 500</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultMaxQueryIteratorsCount" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultMaxQueryIteratorsCount">DefaultMaxQueryIteratorsCount</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_MaxQueryIteratorsCount">MaxQueryIteratorsCount</a>. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultMaxQueryIteratorsCount = 1024</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultPartitionLossPolicy" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultPartitionLossPolicy">DefaultPartitionLossPolicy</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_PartitionLossPolicy">PartitionLossPolicy</a>. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const PartitionLossPolicy DefaultPartitionLossPolicy = PartitionLossPolicy.Ignore</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Configuration.PartitionLossPolicy.html">PartitionLossPolicy</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultQueryDetailMetricsSize" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultQueryDetailMetricsSize">DefaultQueryDetailMetricsSize</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_QueryDetailMetricsSize">QueryDetailMetricsSize</a>. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultQueryDetailMetricsSize = 0</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultQueryParallelism" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultQueryParallelism">DefaultQueryParallelism</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_QueryParallelism">QueryParallelism</a>. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultQueryParallelism = 1</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultReadFromBackup" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultReadFromBackup">DefaultReadFromBackup</h4>
  <div class="markdown level1 summary"><p>Default value for &apos;readFromBackup&apos; flag. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultReadFromBackup = true</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultReadThrough" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultReadThrough">DefaultReadThrough</h4>
  <div class="markdown level1 summary"><p>Default value for read-through behavior. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultReadThrough = false</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultRebalanceBatchesPrefetchCount" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultRebalanceBatchesPrefetchCount">DefaultRebalanceBatchesPrefetchCount</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceBatchesPrefetchCount">RebalanceBatchesPrefetchCount</a>. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const long DefaultRebalanceBatchesPrefetchCount = 2L</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int64</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultRebalanceBatchSize" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultRebalanceBatchSize">DefaultRebalanceBatchSize</h4>
  <div class="markdown level1 summary"><p>Default rebalance batch size in bytes. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultRebalanceBatchSize = 524288</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultRebalanceMode" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultRebalanceMode">DefaultRebalanceMode</h4>
  <div class="markdown level1 summary"><p>Default rebalance mode for distributed cache. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const CacheRebalanceMode DefaultRebalanceMode = CacheRebalanceMode.Async</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheRebalanceMode.html">CacheRebalanceMode</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultRebalanceOrder" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultRebalanceOrder">DefaultRebalanceOrder</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceOrder">RebalanceOrder</a>. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultRebalanceOrder = 0</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultRebalanceThreadPoolSize" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultRebalanceThreadPoolSize">DefaultRebalanceThreadPoolSize</h4>
  <div class="markdown level1 summary"><p>Default size of rebalance thread pool. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultRebalanceThreadPoolSize = 2</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultRebalanceThrottle" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultRebalanceThrottle">DefaultRebalanceThrottle</h4>
  <div class="markdown level1 summary"><p>Time to wait between rebalance messages to avoid overloading CPU. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultRebalanceThrottle</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultRebalanceTimeout" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultRebalanceTimeout">DefaultRebalanceTimeout</h4>
  <div class="markdown level1 summary"><p>Default rebalance timeout.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultRebalanceTimeout</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultSqlIndexMaxInlineSize" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultSqlIndexMaxInlineSize">DefaultSqlIndexMaxInlineSize</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_SqlIndexMaxInlineSize">SqlIndexMaxInlineSize</a>. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultSqlIndexMaxInlineSize = -1</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultStoreConcurrentLoadAllThreshold" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultStoreConcurrentLoadAllThreshold">DefaultStoreConcurrentLoadAllThreshold</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_StoreConcurrentLoadAllThreshold">StoreConcurrentLoadAllThreshold</a>. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultStoreConcurrentLoadAllThreshold = 5</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultWriteBehindBatchSize" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultWriteBehindBatchSize">DefaultWriteBehindBatchSize</h4>
  <div class="markdown level1 summary"><p>Default batch size for write-behind cache store. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultWriteBehindBatchSize = 512</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultWriteBehindCoalescing" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultWriteBehindCoalescing">DefaultWriteBehindCoalescing</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindCoalescing">WriteBehindCoalescing</a>. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultWriteBehindCoalescing = true</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultWriteBehindEnabled" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultWriteBehindEnabled">DefaultWriteBehindEnabled</h4>
  <div class="markdown level1 summary"><p>Default value for &apos;writeBehindEnabled&apos; flag. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultWriteBehindEnabled = false</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultWriteBehindFlushFrequency" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultWriteBehindFlushFrequency">DefaultWriteBehindFlushFrequency</h4>
  <div class="markdown level1 summary"><p>Default flush frequency for write-behind cache store. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultWriteBehindFlushFrequency</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultWriteBehindFlushSize" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultWriteBehindFlushSize">DefaultWriteBehindFlushSize</h4>
  <div class="markdown level1 summary"><p>Default flush size for write-behind cache store. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultWriteBehindFlushSize = 10240</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultWriteBehindFlushThreadCount" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultWriteBehindFlushThreadCount">DefaultWriteBehindFlushThreadCount</h4>
  <div class="markdown level1 summary"><p>Default count of flush threads for write-behind cache store. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultWriteBehindFlushThreadCount = 1</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultWriteSynchronizationMode" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultWriteSynchronizationMode">DefaultWriteSynchronizationMode</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteSynchronizationMode">WriteSynchronizationMode</a> property.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const CacheWriteSynchronizationMode DefaultWriteSynchronizationMode = CacheWriteSynchronizationMode.PrimarySync</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheWriteSynchronizationMode.html">CacheWriteSynchronizationMode</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultWriteThrough" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DefaultWriteThrough">DefaultWriteThrough</h4>
  <div class="markdown level1 summary"><p>Default value for write-through behavior. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultWriteThrough = false</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_AffinityFunction_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.AffinityFunction*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_AffinityFunction" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.AffinityFunction">AffinityFunction</h4>
  <div class="markdown level1 summary"><p>Gets or sets the affinity function to provide mapping from keys to nodes.
<p>
Predefined implementations:
<a class="xref" href="Apache.Ignite.Core.Cache.Affinity.Rendezvous.RendezvousAffinityFunction.html">RendezvousAffinityFunction</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IAffinityFunction AffinityFunction { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.IAffinityFunction.html">IAffinityFunction</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_AtomicityMode_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.AtomicityMode*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_AtomicityMode" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.AtomicityMode">AtomicityMode</h4>
  <div class="markdown level1 summary"><p>Gets or sets cache atomicity mode.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public CacheAtomicityMode AtomicityMode { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheAtomicityMode.html">CacheAtomicityMode</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_Backups_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.Backups*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_Backups" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.Backups">Backups</h4>
  <div class="markdown level1 summary"><p>Gets or sets number of nodes used to back up single partition for 
<a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheMode.html#Apache_Ignite_Core_Cache_Configuration_CacheMode_Partitioned">Partitioned</a> cache.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int Backups { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_CacheMode_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.CacheMode*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_CacheMode" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.CacheMode">CacheMode</h4>
  <div class="markdown level1 summary"><p>Gets or sets caching mode to use.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public CacheMode CacheMode { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheMode.html">CacheMode</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_CacheStoreFactory_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.CacheStoreFactory*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_CacheStoreFactory" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.CacheStoreFactory">CacheStoreFactory</h4>
  <div class="markdown level1 summary"><p>Gets or sets the factory for underlying persistent storage for read-through and write-through operations.
<p>
See <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_ReadThrough">ReadThrough</a> and <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteThrough">WriteThrough</a> properties to enable read-through and 
write-through behavior so that cache store is invoked on get and/or put operations.
<p>
If both <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_ReadThrough">ReadThrough</a> and <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteThrough">WriteThrough</a> are <pre><code>false</code></pre>, cache store 
will be invoked only on <a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html#Apache_Ignite_Core_Cache_ICache_2_LoadCache_Apache_Ignite_Core_Cache_ICacheEntryFilter__0__1__System_Object___">LoadCache(ICacheEntryFilter&lt;TK, TV&gt;, Object[])</a> calls.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IFactory&lt;ICacheStore&gt; CacheStoreFactory { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Common.IFactory-1.html">IFactory</a>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore.html">ICacheStore</a>&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_CopyOnRead_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.CopyOnRead*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_CopyOnRead" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.CopyOnRead">CopyOnRead</h4>
  <div class="markdown level1 summary"><p>Gets or sets flag indicating whether copy of the value stored in cache should be created
for cache operation implying return value. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool CopyOnRead { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DataRegionName_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DataRegionName*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DataRegionName" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.DataRegionName">DataRegionName</h4>
  <div class="markdown level1 summary"><p>Gets or sets the name of the data region, see <a class="xref" href="Apache.Ignite.Core.Configuration.DataRegionConfiguration.html">DataRegionConfiguration</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string DataRegionName { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_EagerTtl_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.EagerTtl*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_EagerTtl" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.EagerTtl">EagerTtl</h4>
  <div class="markdown level1 summary"><p>Gets or sets flag indicating whether expired cache entries will be eagerly removed from cache. 
When set to false, expired entries will be removed on next entry access.        </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool EagerTtl { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_EnableStatistics_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.EnableStatistics*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_EnableStatistics" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.EnableStatistics">EnableStatistics</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether statistics gathering is enabled on a cache.
These statistics can be retrieved via <a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html#Apache_Ignite_Core_Cache_ICache_2_GetMetrics">GetMetrics()</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool EnableStatistics { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_EncryptionEnabled_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.EncryptionEnabled*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_EncryptionEnabled" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.EncryptionEnabled">EncryptionEnabled</h4>
  <div class="markdown level1 summary"><p>Gets or sets encryption flag.
Default is false.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool EncryptionEnabled { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_EvictionPolicy_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.EvictionPolicy*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_EvictionPolicy" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.EvictionPolicy">EvictionPolicy</h4>
  <div class="markdown level1 summary"><p>Gets or sets the eviction policy.
Null value means disabled evictions.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IEvictionPolicy EvictionPolicy { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Eviction.IEvictionPolicy.html">IEvictionPolicy</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_ExpiryPolicyFactory_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.ExpiryPolicyFactory*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_ExpiryPolicyFactory" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.ExpiryPolicyFactory">ExpiryPolicyFactory</h4>
  <div class="markdown level1 summary"><p>Gets or sets the factory for <a class="xref" href="Apache.Ignite.Core.Cache.Expiry.IExpiryPolicy.html">IExpiryPolicy</a> to be used for all cache operations,
unless <a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html#Apache_Ignite_Core_Cache_ICache_2_WithExpiryPolicy_Apache_Ignite_Core_Cache_Expiry_IExpiryPolicy_">WithExpiryPolicy(IExpiryPolicy)</a> is called.
<p>
Default is null, which means no expiration.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IFactory&lt;IExpiryPolicy&gt; ExpiryPolicyFactory { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Common.IFactory-1.html">IFactory</a>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.Expiry.IExpiryPolicy.html">IExpiryPolicy</a>&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_GroupName_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.GroupName*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_GroupName" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.GroupName">GroupName</h4>
  <div class="markdown level1 summary"><p>Gets or sets the cache group name. Caches with the same group name share single underlying &apos;physical&apos;
cache (partition set), but are logically isolated. 
<p>
Since underlying cache is shared, the following configuration properties should be the same within group:
<a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_AffinityFunction">AffinityFunction</a>, <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_CacheMode">CacheMode</a>, <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_PartitionLossPolicy">PartitionLossPolicy</a>,
<a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DataRegionName">DataRegionName</a>
<p>
Grouping caches reduces overall overhead, since internal data structures are shared.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string GroupName { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_Invalidate_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.Invalidate*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_Invalidate" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.Invalidate">Invalidate</h4>
  <div class="markdown level1 summary"><p>Invalidation flag. If true, values will be invalidated (nullified) upon commit in near cache.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool Invalidate { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_KeepBinaryInStore_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.KeepBinaryInStore*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_KeepBinaryInStore" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.KeepBinaryInStore">KeepBinaryInStore</h4>
  <div class="markdown level1 summary"><p>Gets or sets the flag indicating whether <a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore.html">ICacheStore</a> is working with binary objects 
instead of deserialized objects.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool KeepBinaryInStore { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_KeyConfiguration_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.KeyConfiguration*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_KeyConfiguration" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.KeyConfiguration">KeyConfiguration</h4>
  <div class="markdown level1 summary"><p>Gets or sets the key configuration.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICollection&lt;CacheKeyConfiguration&gt; KeyConfiguration { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheKeyConfiguration.html">CacheKeyConfiguration</a>&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_LoadPreviousValue_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.LoadPreviousValue*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_LoadPreviousValue" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.LoadPreviousValue">LoadPreviousValue</h4>
  <div class="markdown level1 summary"><p>Gets or sets flag indicating whether value should be loaded from store if it is not in the cache 
for the following cache operations:<br><ul><li><a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html#Apache_Ignite_Core_Cache_ICache_2_PutIfAbsent__0__1_">PutIfAbsent(TK, TV)</a></li><li><a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html#Apache_Ignite_Core_Cache_ICache_2_Replace__0__1_">Replace(TK, TV)</a></li><li><a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html#Apache_Ignite_Core_Cache_ICache_2_Remove__0_">Remove(TK)</a></li><li><a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html#Apache_Ignite_Core_Cache_ICache_2_GetAndPut__0__1_">GetAndPut(TK, TV)</a></li><li><a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html#Apache_Ignite_Core_Cache_ICache_2_GetAndRemove__0_">GetAndRemove(TK)</a></li><li><a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html#Apache_Ignite_Core_Cache_ICache_2_GetAndReplace__0__1_">GetAndReplace(TK, TV)</a></li><li><a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html#Apache_Ignite_Core_Cache_ICache_2_GetAndPutIfAbsent__0__1_">GetAndPutIfAbsent(TK, TV)</a></li></ul>     </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool LoadPreviousValue { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_LockTimeout_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.LockTimeout*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_LockTimeout" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.LockTimeout">LockTimeout</h4>
  <div class="markdown level1 summary"><p>Gets or sets default lock acquisition timeout.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan LockTimeout { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_LongQueryWarningTimeout_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.LongQueryWarningTimeout*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_LongQueryWarningTimeout" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.LongQueryWarningTimeout">LongQueryWarningTimeout</h4>
  <div class="markdown level1 summary"><p>Gets or sets the timeout after which long query warning will be printed.
<p>
This property is obsolete, use <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_LongQueryWarningTimeout">LongQueryWarningTimeout</a> instead.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;Use IgniteConfiguration.LongQueryWarningTimeout instead.&quot;)]
public TimeSpan LongQueryWarningTimeout { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_MaxConcurrentAsyncOperations_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.MaxConcurrentAsyncOperations*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_MaxConcurrentAsyncOperations" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.MaxConcurrentAsyncOperations">MaxConcurrentAsyncOperations</h4>
  <div class="markdown level1 summary"><p>Gets or sets maximum number of allowed concurrent asynchronous operations, 0 for unlimited.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int MaxConcurrentAsyncOperations { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_MaxQueryIteratorsCount_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.MaxQueryIteratorsCount*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_MaxQueryIteratorsCount" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.MaxQueryIteratorsCount">MaxQueryIteratorsCount</h4>
  <div class="markdown level1 summary"><p>Gets or sets the maximum number of active query iterators.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int MaxQueryIteratorsCount { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_MemoryPolicyName_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.MemoryPolicyName*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_MemoryPolicyName" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.MemoryPolicyName">MemoryPolicyName</h4>
  <div class="markdown level1 summary"><p>Gets or sets the name of the <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.MemoryPolicyConfiguration.html">MemoryPolicyConfiguration</a> for this cache.
See <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_MemoryConfiguration">MemoryConfiguration</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;Use DataRegionName.&quot;)]
public string MemoryPolicyName { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_Name_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.Name*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_Name" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.Name">Name</h4>
  <div class="markdown level1 summary"><p>Gets or sets the cache name.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string Name { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_NearConfiguration_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.NearConfiguration*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_NearConfiguration" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.NearConfiguration">NearConfiguration</h4>
  <div class="markdown level1 summary"><p>Gets or sets the near cache configuration.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public NearCacheConfiguration NearConfiguration { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Configuration.NearCacheConfiguration.html">NearCacheConfiguration</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_OnheapCacheEnabled_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.OnheapCacheEnabled*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_OnheapCacheEnabled" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.OnheapCacheEnabled">OnheapCacheEnabled</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether on-heap cache is enabled for the off-heap based page memory.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool OnheapCacheEnabled { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_PartitionLossPolicy_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.PartitionLossPolicy*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_PartitionLossPolicy" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.PartitionLossPolicy">PartitionLossPolicy</h4>
  <div class="markdown level1 summary"><p>Gets or sets the partition loss policy. This policy defines how Ignite will react to
a situation when all nodes for some partition leave the cluster.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public PartitionLossPolicy PartitionLossPolicy { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Configuration.PartitionLossPolicy.html">PartitionLossPolicy</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_PluginConfigurations_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.PluginConfigurations*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_PluginConfigurations" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.PluginConfigurations">PluginConfigurations</h4>
  <div class="markdown level1 summary"><p>Gets or sets the plugin configurations.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICollection&lt;ICachePluginConfiguration&gt; PluginConfigurations { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;<a class="xref" href="Apache.Ignite.Core.Plugin.Cache.ICachePluginConfiguration.html">ICachePluginConfiguration</a>&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_QueryDetailMetricsSize_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.QueryDetailMetricsSize*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_QueryDetailMetricsSize" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.QueryDetailMetricsSize">QueryDetailMetricsSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the size of the query detail metrics to be stored in memory.
<p>
0 means disabled metrics.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int QueryDetailMetricsSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_QueryEntities_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.QueryEntities*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_QueryEntities" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.QueryEntities">QueryEntities</h4>
  <div class="markdown level1 summary"><p>Gets or sets the query entity configuration.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICollection&lt;QueryEntity&gt; QueryEntities { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.Configuration.QueryEntity.html">QueryEntity</a>&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_QueryParallelism_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.QueryParallelism*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_QueryParallelism" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.QueryParallelism">QueryParallelism</h4>
  <div class="markdown level1 summary"><p>Gets or sets the desired query parallelism within a single node.
Query executor may or may not use this hint, depending on estimated query cost.
<p>
Default is <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultQueryParallelism">DefaultQueryParallelism</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int QueryParallelism { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_ReadFromBackup_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.ReadFromBackup*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_ReadFromBackup" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.ReadFromBackup">ReadFromBackup</h4>
  <div class="markdown level1 summary"><p>Gets or sets flag indicating whether data can be read from backup.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool ReadFromBackup { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_ReadThrough_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.ReadThrough*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_ReadThrough" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.ReadThrough">ReadThrough</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether read-through should be enabled for cache operations.
<p>
When in read-through mode, cache misses that occur due to cache entries not existing 
as a result of performing a &quot;get&quot; operations will appropriately cause the 
configured <a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore.html">ICacheStore</a> (see <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_CacheStoreFactory">CacheStoreFactory</a>) to be invoked.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool ReadThrough { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceBatchesPrefetchCount_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.RebalanceBatchesPrefetchCount*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceBatchesPrefetchCount" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.RebalanceBatchesPrefetchCount">RebalanceBatchesPrefetchCount</h4>
  <div class="markdown level1 summary"><p>Gets or sets the rebalance batches prefetch count.
<p>
Source node can provide more than one batch at rebalance start to improve performance.
Default is <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_DefaultRebalanceBatchesPrefetchCount">DefaultRebalanceBatchesPrefetchCount</a>, minimum is 2.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public long RebalanceBatchesPrefetchCount { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int64</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceBatchSize_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.RebalanceBatchSize*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceBatchSize" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.RebalanceBatchSize">RebalanceBatchSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets size (in number bytes) to be loaded within a single rebalance message.
Rebalancing algorithm will split total data set on every node into multiple batches prior to sending data.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int RebalanceBatchSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceDelay_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.RebalanceDelay*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceDelay" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.RebalanceDelay">RebalanceDelay</h4>
  <div class="markdown level1 summary"><p>Gets or sets delay upon a node joining or leaving topology (or crash) 
after which rebalancing should be started automatically. 
Rebalancing should be delayed if you plan to restart nodes
after they leave topology, or if you plan to start multiple nodes at once or one after another
and don&apos;t want to repartition and rebalance until all nodes are started.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan RebalanceDelay { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceMode_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.RebalanceMode*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceMode" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.RebalanceMode">RebalanceMode</h4>
  <div class="markdown level1 summary"><p>Gets or sets cache rebalance mode.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public CacheRebalanceMode RebalanceMode { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheRebalanceMode.html">CacheRebalanceMode</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceOrder_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.RebalanceOrder*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceOrder" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.RebalanceOrder">RebalanceOrder</h4>
  <div class="markdown level1 summary"><p>Gets or sets the cache rebalance order. Caches with bigger RebalanceOrder are rebalanced later than caches
with smaller RebalanceOrder.
<p>
Default is 0, which means unordered rebalance. All caches with RebalanceOrder=0 are rebalanced without any
delay concurrently.
<p>
This parameter is applicable only for caches with <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceMode">RebalanceMode</a> of
<a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheRebalanceMode.html#Apache_Ignite_Core_Cache_Configuration_CacheRebalanceMode_Sync">Sync</a> and <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheRebalanceMode.html#Apache_Ignite_Core_Cache_Configuration_CacheRebalanceMode_Async">Async</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int RebalanceOrder { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceThrottle_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.RebalanceThrottle*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceThrottle" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.RebalanceThrottle">RebalanceThrottle</h4>
  <div class="markdown level1 summary"><p>Time to wait between rebalance messages to avoid overloading of CPU or network.
When rebalancing large data sets, the CPU or network can get over-consumed with rebalancing messages,
which consecutively may slow down the application performance. This parameter helps tune 
the amount of time to wait between rebalance messages to make sure that rebalancing process
does not have any negative performance impact. Note that application will continue to work
properly while rebalancing is still in progress.
<p>
Value of 0 means that throttling is disabled.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan RebalanceThrottle { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceTimeout_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.RebalanceTimeout*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_RebalanceTimeout" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.RebalanceTimeout">RebalanceTimeout</h4>
  <div class="markdown level1 summary"><p>Gets or sets rebalance timeout.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan RebalanceTimeout { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_SqlEscapeAll_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.SqlEscapeAll*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_SqlEscapeAll" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.SqlEscapeAll">SqlEscapeAll</h4>
  <div class="markdown level1 summary"><p>If true all the SQL table and field names will be escaped with double quotes like 
({ &quot;tableName&quot;.&quot;fieldsName&quot;}). This enforces case sensitivity for field names and
also allows having special characters in table and field names.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool SqlEscapeAll { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_SqlIndexMaxInlineSize_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.SqlIndexMaxInlineSize*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_SqlIndexMaxInlineSize" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.SqlIndexMaxInlineSize">SqlIndexMaxInlineSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets maximum inline size in bytes for sql indexes. See also <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.QueryIndex.html#Apache_Ignite_Core_Cache_Configuration_QueryIndex_InlineSize">InlineSize</a>.
-1 for automatic.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int SqlIndexMaxInlineSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_SqlSchema_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.SqlSchema*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_SqlSchema" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.SqlSchema">SqlSchema</h4>
  <div class="markdown level1 summary"><p>Gets or sets the SQL schema.
Non-quoted identifiers are not case sensitive. Quoted identifiers are case sensitive.
<p>
Quoted <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_Name">Name</a> is used by default.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string SqlSchema { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_StoreConcurrentLoadAllThreshold_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.StoreConcurrentLoadAllThreshold*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_StoreConcurrentLoadAllThreshold" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.StoreConcurrentLoadAllThreshold">StoreConcurrentLoadAllThreshold</h4>
  <div class="markdown level1 summary"><p>Gets or sets the threshold to use when multiple keys are being loaded from an underlying cache store
(see <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_CacheStoreFactory">CacheStoreFactory</a>).</p>
<p>In the situation when several threads load the same or intersecting set of keys
and the total number of keys to load is less or equal to this threshold then there will be no
second call to the storage in order to load a key from thread A if the same key is already being
loaded by thread B.</p>
<p>The threshold should be controlled wisely. On the one hand if it&apos;s set to a big value then the
interaction with a storage during the load of missing keys will be minimal.On the other hand the big
value may result in significant performance degradation because it is needed to check
for every key whether it&apos;s being loaded or not.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int StoreConcurrentLoadAllThreshold { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindBatchSize_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteBehindBatchSize*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindBatchSize" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteBehindBatchSize">WriteBehindBatchSize</h4>
  <div class="markdown level1 summary"><p>Maximum batch size for write-behind cache store operations. 
Store operations (get or remove) are combined in a batch of this size to be passed to 
<a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore-2.html#Apache_Ignite_Core_Cache_Store_ICacheStore_2_WriteAll_System_Collections_Generic_IEnumerable_System_Collections_Generic_KeyValuePair__0__1___">WriteAll(IEnumerable&lt;KeyValuePair&lt;TK, TV&gt;&gt;)</a> or <a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore-2.html#Apache_Ignite_Core_Cache_Store_ICacheStore_2_DeleteAll_System_Collections_Generic_IEnumerable__0__">DeleteAll(IEnumerable&lt;TK&gt;)</a> methods. </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int WriteBehindBatchSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindCoalescing_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteBehindCoalescing*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindCoalescing" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteBehindCoalescing">WriteBehindCoalescing</h4>
  <div class="markdown level1 summary"><p>Gets or sets write coalescing flag for write-behind cache store operations.
Store operations (get or remove) with the same key are combined or coalesced to single,
resulting operation to reduce pressure to underlying cache store.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool WriteBehindCoalescing { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindEnabled_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteBehindEnabled*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindEnabled" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteBehindEnabled">WriteBehindEnabled</h4>
  <div class="markdown level1 summary"><p>Flag indicating whether Ignite should use write-behind behaviour for the cache store.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool WriteBehindEnabled { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindFlushFrequency_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteBehindFlushFrequency*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindFlushFrequency" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteBehindFlushFrequency">WriteBehindFlushFrequency</h4>
  <div class="markdown level1 summary"><p>Frequency with which write-behind cache is flushed to the cache store.
This value defines the maximum time interval between object insertion/deletion from the cache
at the moment when corresponding operation is applied to the cache store.
<p> 
If this value is 0, then flush is performed according to the flush size.
<p>
Note that you cannot set both
<a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindFlushSize">WriteBehindFlushSize</a> and <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindFlushFrequency">WriteBehindFlushFrequency</a> to 0.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan WriteBehindFlushFrequency { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindFlushSize_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteBehindFlushSize*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindFlushSize" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteBehindFlushSize">WriteBehindFlushSize</h4>
  <div class="markdown level1 summary"><p>Maximum size of the write-behind cache. If cache size exceeds this value, all cached items are flushed 
to the cache store and write cache is cleared.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int WriteBehindFlushSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindFlushThreadCount_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteBehindFlushThreadCount*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindFlushThreadCount" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteBehindFlushThreadCount">WriteBehindFlushThreadCount</h4>
  <div class="markdown level1 summary"><p>Number of threads that will perform cache flushing. Cache flushing is performed when cache size exceeds 
value defined by <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindFlushSize">WriteBehindFlushSize</a>, or flush interval defined by 
<a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteBehindFlushFrequency">WriteBehindFlushFrequency</a> is elapsed.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int WriteBehindFlushThreadCount { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteSynchronizationMode_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteSynchronizationMode*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteSynchronizationMode" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteSynchronizationMode">WriteSynchronizationMode</h4>
  <div class="markdown level1 summary"><p>Gets or sets write synchronization mode. This mode controls whether the main<br>caller should wait for update on other nodes to complete or not.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public CacheWriteSynchronizationMode WriteSynchronizationMode { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheWriteSynchronizationMode.html">CacheWriteSynchronizationMode</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteThrough_" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteThrough*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_WriteThrough" data-uid="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.WriteThrough">WriteThrough</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether write-through should be enabled for cache operations.
<p>
When in &quot;write-through&quot; mode, cache updates that occur as a result of performing &quot;put&quot; operations
will appropriately cause the configured 
<a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore.html">ICacheStore</a> (see <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_CacheStoreFactory">CacheStoreFactory</a>) to be invoked.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool WriteThrough { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            © 2015 - 2018 The Apache Software Foundation
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
