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

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Interface ICacheClient&lt;TK, TV&gt;
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Interface ICacheClient&lt;TK, TV&gt;
   | 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.Client.Cache.ICacheClient`2">
  
  
  <h1 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2" class="text-break">Interface ICacheClient&lt;TK, TV&gt;
  </h1>
  <div class="markdown level0 summary"><p>Client cache API. See <a class="xref" href="Apache.Ignite.Core.Client.IIgniteClient.html#Apache_Ignite_Core_Client_IIgniteClient_GetCache__2_System_String_">GetCache&lt;TK, TV&gt;(String)</a>.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Client.Cache.html">Apache.Ignite.Core.Client.Cache</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public interface ICacheClient&lt;TK, TV&gt;</code></pre>
  </div>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">TK</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="parametername">TV</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Item_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Item*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Item__0_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Item(`0)">Item[TK]</h4>
  <div class="markdown level1 summary"><p>Gets or sets a cache value with the specified key.
Shortcut to <a class="xref" href="Apache.Ignite.Core.Client.Cache.ICacheClient-2.html#Apache_Ignite_Core_Client_Cache_ICacheClient_2_Get__0_">Get(TK)</a> and <a class="xref" href="Apache.Ignite.Core.Client.Cache.ICacheClient-2.html#Apache_Ignite_Core_Client_Cache_ICacheClient_2_Put__0__1_">Put(TK, TV)</a></p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">TV this[TK key] { get; set; }</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <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">TV</span></td>
        <td><p>Cache value with the specified key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.KeyNotFoundException</span></td>
        <td><p>If the key is not present in the cache.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Name_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Name*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Name" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Name">Name</h4>
  <div class="markdown level1 summary"><p>Name of this cache (<code>null</code> for default cache).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">string Name { get; }</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>
  <h3 id="methods">Methods
  </h3>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Clear_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Clear*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Clear" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Clear">Clear()</h4>
  <div class="markdown level1 summary"><p>Clears the contents of the cache, without notifying listeners or CacheWriters.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void Clear()</code></pre>
  </div>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Clear_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Clear*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Clear__0_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Clear(`0)">Clear(TK)</h4>
  <div class="markdown level1 summary"><p>Clear entry from the cache, without notifying listeners or CacheWriters.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void Clear(TK key)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key to clear.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ClearAll_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ClearAll*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ClearAll_System_Collections_Generic_IEnumerable__0__" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ClearAll(System.Collections.Generic.IEnumerable{`0})">ClearAll(IEnumerable&lt;TK&gt;)</h4>
  <div class="markdown level1 summary"><p>Clear entries from the cache, without notifying listeners or CacheWriters.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void ClearAll(IEnumerable&lt;TK&gt; keys)</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.Collections.Generic.IEnumerable</span>&lt;TK&gt;</td>
        <td><span class="parametername">keys</span></td>
        <td><p>Keys to clear.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ClearAllAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ClearAllAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ClearAllAsync_System_Collections_Generic_IEnumerable__0__" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ClearAllAsync(System.Collections.Generic.IEnumerable{`0})">ClearAllAsync(IEnumerable&lt;TK&gt;)</h4>
  <div class="markdown level1 summary"><p>Clear entries from the cache, without notifying listeners or CacheWriters.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task ClearAllAsync(IEnumerable&lt;TK&gt; keys)</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.Collections.Generic.IEnumerable</span>&lt;TK&gt;</td>
        <td><span class="parametername">keys</span></td>
        <td><p>Keys to clear.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ClearAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ClearAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ClearAsync" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ClearAsync">ClearAsync()</h4>
  <div class="markdown level1 summary"><p>Clears the contents of the cache, without notifying listeners or CacheWriters.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task ClearAsync()</code></pre>
  </div>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ClearAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ClearAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ClearAsync__0_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ClearAsync(`0)">ClearAsync(TK)</h4>
  <div class="markdown level1 summary"><p>Clear entry from the cache, without notifying listeners or CacheWriters.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task ClearAsync(TK key)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key to clear.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ContainsKey_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ContainsKey*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ContainsKey__0_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ContainsKey(`0)">ContainsKey(TK)</h4>
  <div class="markdown level1 summary"><p>Check if cache contains mapping for this key.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool ContainsKey(TK key)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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><p>True if cache contains mapping for this key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ContainsKeyAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ContainsKeyAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ContainsKeyAsync__0_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ContainsKeyAsync(`0)">ContainsKeyAsync(TK)</h4>
  <div class="markdown level1 summary"><p>Check if cache contains mapping for this key.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;bool&gt; ContainsKeyAsync(TK key)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
        <td><p>True if cache contains mapping for this key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ContainsKeys_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ContainsKeys*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ContainsKeys_System_Collections_Generic_IEnumerable__0__" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ContainsKeys(System.Collections.Generic.IEnumerable{`0})">ContainsKeys(IEnumerable&lt;TK&gt;)</h4>
  <div class="markdown level1 summary"><p>Check if cache contains mapping for these keys.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool ContainsKeys(IEnumerable&lt;TK&gt; keys)</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.Collections.Generic.IEnumerable</span>&lt;TK&gt;</td>
        <td><span class="parametername">keys</span></td>
        <td><p>Keys.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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><p>True if cache contains mapping for all these keys.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ContainsKeysAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ContainsKeysAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ContainsKeysAsync_System_Collections_Generic_IEnumerable__0__" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ContainsKeysAsync(System.Collections.Generic.IEnumerable{`0})">ContainsKeysAsync(IEnumerable&lt;TK&gt;)</h4>
  <div class="markdown level1 summary"><p>Check if cache contains mapping for these keys.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;bool&gt; ContainsKeysAsync(IEnumerable&lt;TK&gt; keys)</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.Collections.Generic.IEnumerable</span>&lt;TK&gt;</td>
        <td><span class="parametername">keys</span></td>
        <td><p>Keys.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
        <td><p>True if cache contains mapping for all these keys.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Get_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Get*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Get__0_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Get(`0)">Get(TK)</h4>
  <div class="markdown level1 summary"><p>Retrieves value mapped to the specified key from cache.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">TV Get(TK key)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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">TV</span></td>
        <td><p>Value.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.KeyNotFoundException</span></td>
        <td><p>If the key is not present in the cache.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAll_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAll*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAll_System_Collections_Generic_IEnumerable__0__" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAll(System.Collections.Generic.IEnumerable{`0})">GetAll(IEnumerable&lt;TK&gt;)</h4>
  <div class="markdown level1 summary"><p>Retrieves values mapped to the specified keys from cache.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICollection&lt;ICacheEntry&lt;TK, TV&gt;&gt; GetAll(IEnumerable&lt;TK&gt; keys)</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.Collections.Generic.IEnumerable</span>&lt;TK&gt;</td>
        <td><span class="parametername">keys</span></td>
        <td><p>Keys.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.ICacheEntry-2.html">ICacheEntry</a>&lt;TK, TV&gt;&gt;</td>
        <td><p>Map of key-value pairs.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAllAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAllAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAllAsync_System_Collections_Generic_IEnumerable__0__" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAllAsync(System.Collections.Generic.IEnumerable{`0})">GetAllAsync(IEnumerable&lt;TK&gt;)</h4>
  <div class="markdown level1 summary"><p>Retrieves values mapped to the specified keys from cache.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;ICollection&lt;ICacheEntry&lt;TK, TV&gt;&gt;&gt; GetAllAsync(IEnumerable&lt;TK&gt; keys)</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.Collections.Generic.IEnumerable</span>&lt;TK&gt;</td>
        <td><span class="parametername">keys</span></td>
        <td><p>Keys.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Collections.Generic.ICollection</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.ICacheEntry-2.html">ICacheEntry</a>&lt;TK, TV&gt;&gt;&gt;</td>
        <td><p>Map of key-value pairs.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndPut_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndPut*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndPut__0__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndPut(`0,`1)">GetAndPut(TK, TV)</h4>
  <div class="markdown level1 summary"><p>Associates the specified value with the specified key in this cache,
returning an existing value if one existed.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">CacheResult&lt;TV&gt; GetAndPut(TK key, TV val)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key with which the specified value is to be associated.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">val</span></td>
        <td><p>Value to be associated with the specified key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.CacheResult-1.html">CacheResult</a>&lt;TV&gt;</td>
        <td><p>The value associated with the key at the start of the operation.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndPutAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndPutAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndPutAsync__0__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndPutAsync(`0,`1)">GetAndPutAsync(TK, TV)</h4>
  <div class="markdown level1 summary"><p>Associates the specified value with the specified key in this cache,
returning an existing value if one existed.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;CacheResult&lt;TV&gt;&gt; GetAndPutAsync(TK key, TV val)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key with which the specified value is to be associated.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">val</span></td>
        <td><p>Value to be associated with the specified key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.CacheResult-1.html">CacheResult</a>&lt;TV&gt;&gt;</td>
        <td><p>The value associated with the key at the start of the operation.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndPutIfAbsent_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndPutIfAbsent*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndPutIfAbsent__0__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndPutIfAbsent(`0,`1)">GetAndPutIfAbsent(TK, TV)</h4>
  <div class="markdown level1 summary"><p>Stores given key-value pair in cache only if cache had no previous mapping for it.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">CacheResult&lt;TV&gt; GetAndPutIfAbsent(TK key, TV val)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key to store in cache.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">val</span></td>
        <td><p>Value to be associated with the given key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.CacheResult-1.html">CacheResult</a>&lt;TV&gt;</td>
        <td><p>Previously contained value regardless of whether put happened or not.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndPutIfAbsentAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndPutIfAbsentAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndPutIfAbsentAsync__0__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndPutIfAbsentAsync(`0,`1)">GetAndPutIfAbsentAsync(TK, TV)</h4>
  <div class="markdown level1 summary"><p>Stores given key-value pair in cache only if cache had no previous mapping for it.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;CacheResult&lt;TV&gt;&gt; GetAndPutIfAbsentAsync(TK key, TV val)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key to store in cache.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">val</span></td>
        <td><p>Value to be associated with the given key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.CacheResult-1.html">CacheResult</a>&lt;TV&gt;&gt;</td>
        <td><p>Previously contained value regardless of whether put happened or not.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndRemove_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndRemove*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndRemove__0_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndRemove(`0)">GetAndRemove(TK)</h4>
  <div class="markdown level1 summary"><p>Atomically removes the entry for a key only if currently mapped to some value.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">CacheResult&lt;TV&gt; GetAndRemove(TK key)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key with which the specified value is associated.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.CacheResult-1.html">CacheResult</a>&lt;TV&gt;</td>
        <td><p>The value if one existed.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndRemoveAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndRemoveAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndRemoveAsync__0_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndRemoveAsync(`0)">GetAndRemoveAsync(TK)</h4>
  <div class="markdown level1 summary"><p>Atomically removes the entry for a key only if currently mapped to some value.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;CacheResult&lt;TV&gt;&gt; GetAndRemoveAsync(TK key)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key with which the specified value is associated.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.CacheResult-1.html">CacheResult</a>&lt;TV&gt;&gt;</td>
        <td><p>The value if one existed.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndReplace_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndReplace*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndReplace__0__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndReplace(`0,`1)">GetAndReplace(TK, TV)</h4>
  <div class="markdown level1 summary"><p>Atomically replaces the value for a given key if and only if there is a value currently mapped by the key.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">CacheResult&lt;TV&gt; GetAndReplace(TK key, TV val)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key with which the specified value is to be associated.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">val</span></td>
        <td><p>Value to be associated with the specified key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.CacheResult-1.html">CacheResult</a>&lt;TV&gt;</td>
        <td><p>The previous value associated with the specified key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndReplaceAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndReplaceAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAndReplaceAsync__0__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAndReplaceAsync(`0,`1)">GetAndReplaceAsync(TK, TV)</h4>
  <div class="markdown level1 summary"><p>Atomically replaces the value for a given key if and only if there is a value currently mapped by the key.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;CacheResult&lt;TV&gt;&gt; GetAndReplaceAsync(TK key, TV val)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key with which the specified value is to be associated.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">val</span></td>
        <td><p>Value to be associated with the specified key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.CacheResult-1.html">CacheResult</a>&lt;TV&gt;&gt;</td>
        <td><p>The previous value associated with the specified key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetAsync__0_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetAsync(`0)">GetAsync(TK)</h4>
  <div class="markdown level1 summary"><p>Retrieves value mapped to the specified key from cache.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;TV&gt; GetAsync(TK key)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;TV&gt;</td>
        <td><p>Value.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.KeyNotFoundException</span></td>
        <td><p>If the key is not present in the cache.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetConfiguration_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetConfiguration*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetConfiguration" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetConfiguration">GetConfiguration()</h4>
  <div class="markdown level1 summary"><p>Gets the cache configuration.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">CacheClientConfiguration GetConfiguration()</code></pre>
  </div>
  <h5 class="returns">Returns</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.Client.Cache.CacheClientConfiguration.html">CacheClientConfiguration</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetSize_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetSize*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetSize_Apache_Ignite_Core_Cache_CachePeekMode___" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetSize(Apache.Ignite.Core.Cache.CachePeekMode[])">GetSize(CachePeekMode[])</h4>
  <div class="markdown level1 summary"><p>Gets the number of all entries cached across all nodes.
<p>
NOTE: this operation is distributed and will query all participating nodes for their cache sizes.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">long GetSize(params CachePeekMode[] modes)</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.CachePeekMode.html">CachePeekMode</a>[]</td>
        <td><span class="parametername">modes</span></td>
        <td><p>Optional peek modes. If not provided, then total cache size is returned.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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><p>Cache size across all nodes.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetSizeAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetSizeAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_GetSizeAsync_Apache_Ignite_Core_Cache_CachePeekMode___" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.GetSizeAsync(Apache.Ignite.Core.Cache.CachePeekMode[])">GetSizeAsync(CachePeekMode[])</h4>
  <div class="markdown level1 summary"><p>Gets the number of all entries cached across all nodes.
<p>
NOTE: this operation is distributed and will query all participating nodes for their cache sizes.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;long&gt; GetSizeAsync(params CachePeekMode[] modes)</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.CachePeekMode.html">CachePeekMode</a>[]</td>
        <td><span class="parametername">modes</span></td>
        <td><p>Optional peek modes. If not provided, then total cache size is returned.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Int64</span>&gt;</td>
        <td><p>Cache size across all nodes.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Put_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Put*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Put__0__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Put(`0,`1)">Put(TK, TV)</h4>
  <div class="markdown level1 summary"><p>Associates the specified value with the specified key in the cache.
<p>
If the cache previously contained a mapping for the key,
the old value is replaced by the specified value.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void Put(TK key, TV val)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key with which the specified value is to be associated.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">val</span></td>
        <td><p>Value to be associated with the specified key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_PutAll_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.PutAll*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_PutAll_System_Collections_Generic_IEnumerable_System_Collections_Generic_KeyValuePair__0__1___" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.PutAll(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">PutAll(IEnumerable&lt;KeyValuePair&lt;TK, TV&gt;&gt;)</h4>
  <div class="markdown level1 summary"><p>Stores given key-value pairs in cache.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void PutAll(IEnumerable&lt;KeyValuePair&lt;TK, TV&gt;&gt; vals)</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.Collections.Generic.IEnumerable</span>&lt;<span class="xref">System.Collections.Generic.KeyValuePair</span>&lt;TK, TV&gt;&gt;</td>
        <td><span class="parametername">vals</span></td>
        <td><p>Key-value pairs to store in cache.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_PutAllAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.PutAllAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_PutAllAsync_System_Collections_Generic_IEnumerable_System_Collections_Generic_KeyValuePair__0__1___" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.PutAllAsync(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">PutAllAsync(IEnumerable&lt;KeyValuePair&lt;TK, TV&gt;&gt;)</h4>
  <div class="markdown level1 summary"><p>Stores given key-value pairs in cache.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task PutAllAsync(IEnumerable&lt;KeyValuePair&lt;TK, TV&gt;&gt; vals)</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.Collections.Generic.IEnumerable</span>&lt;<span class="xref">System.Collections.Generic.KeyValuePair</span>&lt;TK, TV&gt;&gt;</td>
        <td><span class="parametername">vals</span></td>
        <td><p>Key-value pairs to store in cache.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_PutAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.PutAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_PutAsync__0__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.PutAsync(`0,`1)">PutAsync(TK, TV)</h4>
  <div class="markdown level1 summary"><p>Associates the specified value with the specified key in the cache.
<p>
If the cache previously contained a mapping for the key,
the old value is replaced by the specified value.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task PutAsync(TK key, TV val)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key with which the specified value is to be associated.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">val</span></td>
        <td><p>Value to be associated with the specified key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_PutIfAbsent_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.PutIfAbsent*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_PutIfAbsent__0__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.PutIfAbsent(`0,`1)">PutIfAbsent(TK, TV)</h4>
  <div class="markdown level1 summary"><p>Atomically associates the specified key with the given value if it is not already associated with a value.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool PutIfAbsent(TK key, TV val)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key with which the specified value is to be associated.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">val</span></td>
        <td><p>Value to be associated with the specified key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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><p>True if a value was set.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_PutIfAbsentAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.PutIfAbsentAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_PutIfAbsentAsync__0__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.PutIfAbsentAsync(`0,`1)">PutIfAbsentAsync(TK, TV)</h4>
  <div class="markdown level1 summary"><p>Atomically associates the specified key with the given value if it is not already associated with a value.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;bool&gt; PutIfAbsentAsync(TK key, TV val)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key with which the specified value is to be associated.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">val</span></td>
        <td><p>Value to be associated with the specified key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
        <td><p>True if a value was set.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Query_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Query*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Query_Apache_Ignite_Core_Cache_Query_ScanQuery__0__1__" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Query(Apache.Ignite.Core.Cache.Query.ScanQuery{`0,`1})">Query(ScanQuery&lt;TK, TV&gt;)</h4>
  <div class="markdown level1 summary"><p>Executes a Scan query.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IQueryCursor&lt;ICacheEntry&lt;TK, TV&gt;&gt; Query(ScanQuery&lt;TK, TV&gt; scanQuery)</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.Query.ScanQuery-2.html">ScanQuery</a>&lt;TK, TV&gt;</td>
        <td><span class="parametername">scanQuery</span></td>
        <td><p>Scan query.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Query.IQueryCursor-1.html">IQueryCursor</a>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.ICacheEntry-2.html">ICacheEntry</a>&lt;TK, TV&gt;&gt;</td>
        <td><p>Query cursor.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Query_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Query*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Query_Apache_Ignite_Core_Cache_Query_SqlFieldsQuery_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Query(Apache.Ignite.Core.Cache.Query.SqlFieldsQuery)">Query(SqlFieldsQuery)</h4>
  <div class="markdown level1 summary"><p>Executes an SQL Fields query.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IFieldsQueryCursor Query(SqlFieldsQuery sqlFieldsQuery)</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.Query.SqlFieldsQuery.html">SqlFieldsQuery</a></td>
        <td><span class="parametername">sqlFieldsQuery</span></td>
        <td><p>SQL query.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Query.IFieldsQueryCursor.html">IFieldsQueryCursor</a></td>
        <td><p>Query cursor.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Query_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Query*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Query_Apache_Ignite_Core_Cache_Query_SqlQuery_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Query(Apache.Ignite.Core.Cache.Query.SqlQuery)">Query(SqlQuery)</h4>
  <div class="markdown level1 summary"><p>Executes an SQL query.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IQueryCursor&lt;ICacheEntry&lt;TK, TV&gt;&gt; Query(SqlQuery sqlQuery)</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.Query.SqlQuery.html">SqlQuery</a></td>
        <td><span class="parametername">sqlQuery</span></td>
        <td><p>SQL query.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Query.IQueryCursor-1.html">IQueryCursor</a>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.ICacheEntry-2.html">ICacheEntry</a>&lt;TK, TV&gt;&gt;</td>
        <td><p>Query cursor.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Remove_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Remove*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Remove__0_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Remove(`0)">Remove(TK)</h4>
  <div class="markdown level1 summary"><p>Removes given key mapping from cache, notifying listeners and cache writers.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool Remove(TK key)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key to remove.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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><p>True if entry was removed, false otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Remove_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Remove*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Remove__0__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Remove(`0,`1)">Remove(TK, TV)</h4>
  <div class="markdown level1 summary"><p>Removes given key mapping from cache if one exists and value is equal to the passed in value.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool Remove(TK key, TV val)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key whose mapping is to be removed from cache.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">val</span></td>
        <td><p>Value to match against currently cached value.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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><p>True if entry was removed, false otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_RemoveAll_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.RemoveAll*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_RemoveAll" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.RemoveAll">RemoveAll()</h4>
  <div class="markdown level1 summary"><p>Removes all mappings from cache, notifying listeners and cache writers.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void RemoveAll()</code></pre>
  </div>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_RemoveAll_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.RemoveAll*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_RemoveAll_System_Collections_Generic_IEnumerable__0__" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.RemoveAll(System.Collections.Generic.IEnumerable{`0})">RemoveAll(IEnumerable&lt;TK&gt;)</h4>
  <div class="markdown level1 summary"><p>Removes given key mappings from cache, notifying listeners and cache writers.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void RemoveAll(IEnumerable&lt;TK&gt; keys)</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.Collections.Generic.IEnumerable</span>&lt;TK&gt;</td>
        <td><span class="parametername">keys</span></td>
        <td><p>Keys to be removed from cache.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_RemoveAllAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.RemoveAllAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_RemoveAllAsync" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.RemoveAllAsync">RemoveAllAsync()</h4>
  <div class="markdown level1 summary"><p>Removes all mappings from cache, notifying listeners and cache writers.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task RemoveAllAsync()</code></pre>
  </div>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_RemoveAllAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.RemoveAllAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_RemoveAllAsync_System_Collections_Generic_IEnumerable__0__" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.RemoveAllAsync(System.Collections.Generic.IEnumerable{`0})">RemoveAllAsync(IEnumerable&lt;TK&gt;)</h4>
  <div class="markdown level1 summary"><p>Removes given key mappings from cache, notifying listeners and cache writers.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task RemoveAllAsync(IEnumerable&lt;TK&gt; keys)</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.Collections.Generic.IEnumerable</span>&lt;TK&gt;</td>
        <td><span class="parametername">keys</span></td>
        <td><p>Keys to be removed from cache.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_RemoveAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.RemoveAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_RemoveAsync__0_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.RemoveAsync(`0)">RemoveAsync(TK)</h4>
  <div class="markdown level1 summary"><p>Removes given key mapping from cache, notifying listeners and cache writers.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;bool&gt; RemoveAsync(TK key)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key to remove.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
        <td><p>True if entry was removed, false otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_RemoveAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.RemoveAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_RemoveAsync__0__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.RemoveAsync(`0,`1)">RemoveAsync(TK, TV)</h4>
  <div class="markdown level1 summary"><p>Removes given key mapping from cache if one exists and value is equal to the passed in value.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;bool&gt; RemoveAsync(TK key, TV val)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key whose mapping is to be removed from cache.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">val</span></td>
        <td><p>Value to match against currently cached value.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
        <td><p>True if entry was removed, false otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Replace_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Replace*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Replace__0__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Replace(`0,`1)">Replace(TK, TV)</h4>
  <div class="markdown level1 summary"><p>Stores given key-value pair in cache only if there is a previous mapping for it.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool Replace(TK key, TV val)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key to store in cache.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">val</span></td>
        <td><p>Value to be associated with the given key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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><p>True if the value was replaced.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Replace_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Replace*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_Replace__0__1__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.Replace(`0,`1,`1)">Replace(TK, TV, TV)</h4>
  <div class="markdown level1 summary"><p>Stores given key-value pair in cache only if only if the previous value is equal to the
old value passed as argument.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool Replace(TK key, TV oldVal, TV newVal)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key to store in cache.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">oldVal</span></td>
        <td><p>Old value to match.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">newVal</span></td>
        <td><p>Value to be associated with the given key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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><p>True if replace happened, false otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ReplaceAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ReplaceAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ReplaceAsync__0__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ReplaceAsync(`0,`1)">ReplaceAsync(TK, TV)</h4>
  <div class="markdown level1 summary"><p>Stores given key-value pair in cache only if there is a previous mapping for it.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;bool&gt; ReplaceAsync(TK key, TV val)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key to store in cache.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">val</span></td>
        <td><p>Value to be associated with the given key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
        <td><p>True if the value was replaced.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ReplaceAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ReplaceAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_ReplaceAsync__0__1__1_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.ReplaceAsync(`0,`1,`1)">ReplaceAsync(TK, TV, TV)</h4>
  <div class="markdown level1 summary"><p>Stores given key-value pair in cache only if only if the previous value is equal to the
old value passed as argument.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;bool&gt; ReplaceAsync(TK key, TV oldVal, TV newVal)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key to store in cache.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">oldVal</span></td>
        <td><p>Old value to match.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">newVal</span></td>
        <td><p>Value to be associated with the given key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
        <td><p>True if replace happened, false otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_TryGet_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.TryGet*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_TryGet__0__1__" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.TryGet(`0,`1@)">TryGet(TK, out TV)</h4>
  <div class="markdown level1 summary"><p>Retrieves value mapped to the specified key from cache.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool TryGet(TK key, out TV value)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TV</span></td>
        <td><span class="parametername">value</span></td>
        <td><p>When this method returns, the value associated with the specified key,
if the key is found; otherwise, the default value for the type of the value parameter.
This parameter is passed uninitialized.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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><p>true if the cache contains an element with the specified key; otherwise, false.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_TryGetAsync_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.TryGetAsync*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_TryGetAsync__0_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.TryGetAsync(`0)">TryGetAsync(TK)</h4>
  <div class="markdown level1 summary"><p>Retrieves value mapped to the specified key from cache.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;CacheResult&lt;TV&gt;&gt; TryGetAsync(TK key)</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">TK</span></td>
        <td><span class="parametername">key</span></td>
        <td><p>Key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Threading.Tasks.Task</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.CacheResult-1.html">CacheResult</a>&lt;TV&gt;&gt;</td>
        <td><p><a class="xref" href="Apache.Ignite.Core.Cache.CacheResult-1.html">CacheResult&lt;T&gt;</a> containing a bool success flag and a value.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_WithKeepBinary_" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.WithKeepBinary*"></a>
  <h4 id="Apache_Ignite_Core_Client_Cache_ICacheClient_2_WithKeepBinary__2" data-uid="Apache.Ignite.Core.Client.Cache.ICacheClient`2.WithKeepBinary``2">WithKeepBinary&lt;TK1, TV1&gt;()</h4>
  <div class="markdown level1 summary"><p>Gets cache with KeepBinary mode enabled, changing key and/or value types if necessary.
You can only change key/value types when transitioning from non-binary to binary cache;
Changing type of binary cache is not allowed and will throw an <span class="xref">System.InvalidOperationException</span>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICacheClient&lt;TK1, TV1&gt; WithKeepBinary&lt;TK1, TV1&gt;()</code></pre>
  </div>
  <h5 class="returns">Returns</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.Client.Cache.ICacheClient-2.html">ICacheClient</a>&lt;TK1, TV1&gt;</td>
        <td><p>Cache instance with binary mode enabled.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">TK1</span></td>
        <td><p>Key type in binary mode.</p>
</td>
      </tr>
      <tr>
        <td><span class="parametername">TV1</span></td>
        <td><p>Value type in binary mode.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="extensionmethods">Extension Methods</h3>
  <div>
      <a class="xref" href="Apache.Ignite.Linq.CacheClientLinqExtensions.html#Apache_Ignite_Linq_CacheClientLinqExtensions_AsCacheQueryable__2_Apache_Ignite_Core_Client_Cache_ICacheClient___0___1__">CacheClientLinqExtensions.AsCacheQueryable&lt;TKey, TValue&gt;(ICacheClient&lt;TKey, TValue&gt;)</a>
  </div>
  <div>
      <a class="xref" href="Apache.Ignite.Linq.CacheClientLinqExtensions.html#Apache_Ignite_Linq_CacheClientLinqExtensions_AsCacheQueryable__2_Apache_Ignite_Core_Client_Cache_ICacheClient___0___1__System_Boolean_">CacheClientLinqExtensions.AsCacheQueryable&lt;TKey, TValue&gt;(ICacheClient&lt;TKey, TValue&gt;, Boolean)</a>
  </div>
  <div>
      <a class="xref" href="Apache.Ignite.Linq.CacheClientLinqExtensions.html#Apache_Ignite_Linq_CacheClientLinqExtensions_AsCacheQueryable__2_Apache_Ignite_Core_Client_Cache_ICacheClient___0___1__System_Boolean_System_String_">CacheClientLinqExtensions.AsCacheQueryable&lt;TKey, TValue&gt;(ICacheClient&lt;TKey, TValue&gt;, Boolean, String)</a>
  </div>
  <div>
      <a class="xref" href="Apache.Ignite.Linq.CacheClientLinqExtensions.html#Apache_Ignite_Linq_CacheClientLinqExtensions_AsCacheQueryable__2_Apache_Ignite_Core_Client_Cache_ICacheClient___0___1__Apache_Ignite_Linq_QueryOptions_">CacheClientLinqExtensions.AsCacheQueryable&lt;TKey, TValue&gt;(ICacheClient&lt;TKey, TValue&gt;, QueryOptions)</a>
  </div>
</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>
