| <!DOCTYPE html>
|
| <!--[if IE]><![endif]-->
|
| <html>
|
|
|
| <head> |
| <link rel="canonical" href="https://ignite.apache.org/releases/2.3.0/dotnetdoc/api/Apache.Ignite.Core.Cache.Store.CacheStoreAdapter-2.html" /> |
| <META NAME="ROBOTS" CONTENT="NOINDEX">
|
| <meta charset="utf-8">
|
| <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
| <title>Class CacheStoreAdapter<TK, TV>
|
| | Apache Ignite.NET </title>
|
| <meta name="viewport" content="width=device-width">
|
| <meta name="title" content="Class CacheStoreAdapter<TK, TV>
|
| | 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="../">
|
|
|
| </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.Store.CacheStoreAdapter`2">
|
|
|
|
|
| <h1 id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2" class="text-break">Class CacheStoreAdapter<TK, TV>
|
| </h1>
|
| <div class="markdown level0 summary"><p>Cache storage convenience adapter. It provides default implementation for |
| bulk operations, such as <code>LoadAll</code>, <code>PutAll</code> and |
| <code>RemoveAll</code> by sequentially calling corresponding <code>Load</code>, |
| <code>Put</code> and <code>Remove</code> operations. Use this adapter whenever |
| such behaviour is acceptable. However in many cases it maybe more preferable |
| to take advantage of database batch update functionality, and therefore default |
| adapter implementation may not be the best option. |
| <p> |
| Note that <code>LoadCache</code> method has empty implementation because it is |
| essentially up to the user to invoke it with specific arguments.</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">CacheStoreAdapter<TK, TV></span></div>
|
| </div>
|
| <div classs="implements">
|
| <h5>Implements</h5>
|
| <div><a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore-2.html">ICacheStore</a><TK, TV></div>
|
| <div><a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore.html">ICacheStore</a></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.Store.html">Apache.Ignite.Core.Cache.Store</a></h6>
|
| <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
|
| <h5 id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_syntax">Syntax</h5>
|
| <div class="codewrapper">
|
| <pre><code class="lang-csharp hljs">public abstract class CacheStoreAdapter<TK, TV> : ICacheStore<TK, TV>, ICacheStore</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><p>Key type.</p> |
| </td>
|
| </tr>
|
| <tr>
|
| <td><span class="parametername">TV</span></td>
|
| <td><p>Value type.</p> |
| </td>
|
| </tr>
|
| </tbody>
|
| </table>
|
| <h3 id="methods">Methods
|
| </h3>
|
| <a id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_Delete_" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.Delete*"></a>
|
| <h4 id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_Delete__0_" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.Delete(`0)">Delete(TK)</h4>
|
| <div class="markdown level1 summary"><p>Delete the cache entry from the external resource. |
| <p> |
| Expiry of a cache entry is not a delete hence will not cause this method to be invoked. |
| <p> |
| This method is invoked even if no mapping for the key exists.</p> |
| </div>
|
| <div class="markdown level1 conceptual"></div>
|
| <h5 class="decalaration">Declaration</h5>
|
| <div class="codewrapper">
|
| <pre><code class="lang-csharp hljs">public abstract void Delete(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>The key that is used for the delete operation.</p> |
| </td>
|
| </tr>
|
| </tbody>
|
| </table>
|
| <a id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_DeleteAll_" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.DeleteAll*"></a>
|
| <h4 id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_DeleteAll_System_Collections_Generic_IEnumerable__0__" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.DeleteAll(System.Collections.Generic.IEnumerable{`0})">DeleteAll(IEnumerable<TK>)</h4>
|
| <div class="markdown level1 summary"><p>Remove data and keys from the external resource for the given collection of keys, if present. |
| <p> |
| The order that individual deletes occur is undefined. |
| <p> |
| If this operation fails (by throwing an exception) after a partial success, |
| the writer must remove any successfully written entries from the entries collection |
| so that the caching implementation knows what succeeded and can mutate the cache. |
| <p> |
| Expiry of a cache entry is not a delete hence will not cause this method to be invoked. |
| <p> |
| This method may include keys even if there is no mapping for that key, |
| in which case the data represented by that key should be removed from the underlying resource.</p> |
| </div>
|
| <div class="markdown level1 conceptual"></div>
|
| <h5 class="decalaration">Declaration</h5>
|
| <div class="codewrapper">
|
| <pre><code class="lang-csharp hljs">public virtual void DeleteAll(IEnumerable<TK> 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><TK></td>
|
| <td><span class="parametername">keys</span></td>
|
| <td><p>a mutable collection of keys for entries to delete. Upon invocation, |
| it contains the keys to delete for write-through. Upon return the collection must only contain |
| the keys that were not successfully deleted.</p> |
| </td>
|
| </tr>
|
| </tbody>
|
| </table>
|
| <a id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_Load_" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.Load*"></a>
|
| <h4 id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_Load__0_" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.Load(`0)">Load(TK)</h4>
|
| <div class="markdown level1 summary"><p>Loads an object. Application developers should implement this method to customize the loading |
| of a value for a cache entry. |
| This method is called by a cache when a requested entry is not in the cache. |
| If the object can't be loaded <code>null</code> should be returned.</p> |
| </div>
|
| <div class="markdown level1 conceptual"></div>
|
| <h5 class="decalaration">Declaration</h5>
|
| <div class="codewrapper">
|
| <pre><code class="lang-csharp hljs">public abstract TV Load(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>The key identifying the object being loaded.</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>The value for the entry that is to be stored in the cache |
| or <code>null</code> if the object can't be loaded</p> |
| </td>
|
| </tr>
|
| </tbody>
|
| </table>
|
| <a id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_LoadAll_" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.LoadAll*"></a>
|
| <h4 id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_LoadAll_System_Collections_Generic_IEnumerable__0__" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.LoadAll(System.Collections.Generic.IEnumerable{`0})">LoadAll(IEnumerable<TK>)</h4>
|
| <div class="markdown level1 summary"><p>Loads multiple objects. Application developers should implement this method to customize |
| the loading of cache entries. This method is called when the requested object is not in the cache. |
| If an object can't be loaded, it is not returned in the resulting map.</p> |
| </div>
|
| <div class="markdown level1 conceptual"></div>
|
| <h5 class="decalaration">Declaration</h5>
|
| <div class="codewrapper">
|
| <pre><code class="lang-csharp hljs">public virtual IEnumerable<KeyValuePair<TK, TV>> LoadAll(IEnumerable<TK> 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><TK></td>
|
| <td><span class="parametername">keys</span></td>
|
| <td><p>Keys identifying the values to be loaded.</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.IEnumerable</span><<span class="xref">System.Collections.Generic.KeyValuePair</span><TK, TV>></td>
|
| <td><p>A map of key, values to be stored in the cache.</p> |
| </td>
|
| </tr>
|
| </tbody>
|
| </table>
|
| <a id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_LoadCache_" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.LoadCache*"></a>
|
| <h4 id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_LoadCache_System_Action__0__1__System_Object___" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.LoadCache(System.Action{`0,`1},System.Object[])">LoadCache(Action<TK, TV>, Object[])</h4>
|
| <div class="markdown level1 summary"><p>Loads all values from underlying persistent storage. Note that keys are |
| not passed, so it is up to implementation to figure out what to load. |
| This method is called whenever <a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html#Apache_Ignite_Core_Cache_ICache_2_LocalLoadCache_Apache_Ignite_Core_Cache_ICacheEntryFilter__0__1__System_Object___">LocalLoadCache(ICacheEntryFilter<TK, TV>, Object[])</a> |
| method is invoked which is usually to preload the cache from persistent storage. |
| <p> |
| This method is optional, and cache implementation |
| does not depend on this method to do anything. |
| <p> |
| For every loaded value method provided action should be called. |
| The action will then make sure that the loaded value is stored in cache.</p> |
| </div>
|
| <div class="markdown level1 conceptual"></div>
|
| <h5 class="decalaration">Declaration</h5>
|
| <div class="codewrapper">
|
| <pre><code class="lang-csharp hljs">public virtual void LoadCache(Action<TK, TV> act, params object[] args)</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.Action</span><TK, TV></td>
|
| <td><span class="parametername">act</span></td>
|
| <td><p>Action for loaded values.</p> |
| </td>
|
| </tr>
|
| <tr>
|
| <td><span class="xref">System.Object</span>[]</td>
|
| <td><span class="parametername">args</span></td>
|
| <td><p>Optional arguemnts passed to <a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html#Apache_Ignite_Core_Cache_ICache_2_LocalLoadCache_Apache_Ignite_Core_Cache_ICacheEntryFilter__0__1__System_Object___">LocalLoadCache(ICacheEntryFilter<TK, TV>, Object[])</a> method.</p> |
| </td>
|
| </tr>
|
| </tbody>
|
| </table>
|
| <a id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_SessionEnd_" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.SessionEnd*"></a>
|
| <h4 id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_SessionEnd_System_Boolean_" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.SessionEnd(System.Boolean)">SessionEnd(Boolean)</h4>
|
| <div class="markdown level1 summary"><p>Tells store to commit or rollback a transaction depending on the value of the |
| <code>commit</code> parameter.</p> |
| </div>
|
| <div class="markdown level1 conceptual"></div>
|
| <h5 class="decalaration">Declaration</h5>
|
| <div class="codewrapper">
|
| <pre><code class="lang-csharp hljs">public virtual void SessionEnd(bool commit)</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.Boolean</span></td>
|
| <td><span class="parametername">commit</span></td>
|
| <td><p><code>True</code> if transaction should commit, <code>false</code> for rollback.</p> |
| </td>
|
| </tr>
|
| </tbody>
|
| </table>
|
| <a id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_Write_" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.Write*"></a>
|
| <h4 id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_Write__0__1_" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.Write(`0,`1)">Write(TK, TV)</h4>
|
| <div class="markdown level1 summary"><p>Write the specified value under the specified key to the external resource. |
| <p> |
| This method is intended to support both key/value creation and value update.</p> |
| </div>
|
| <div class="markdown level1 conceptual"></div>
|
| <h5 class="decalaration">Declaration</h5>
|
| <div class="codewrapper">
|
| <pre><code class="lang-csharp hljs">public abstract void Write(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 write.</p> |
| </td>
|
| </tr>
|
| <tr>
|
| <td><span class="xref">TV</span></td>
|
| <td><span class="parametername">val</span></td>
|
| <td><p>Value to write.</p> |
| </td>
|
| </tr>
|
| </tbody>
|
| </table>
|
| <a id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_WriteAll_" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.WriteAll*"></a>
|
| <h4 id="Apache_Ignite_Core_Cache_Store_CacheStoreAdapter_2_WriteAll_System_Collections_Generic_IEnumerable_System_Collections_Generic_KeyValuePair__0__1___" data-uid="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter`2.WriteAll(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">WriteAll(IEnumerable<KeyValuePair<TK, TV>>)</h4>
|
| <div class="markdown level1 summary"><p>Writes all.</p> |
| </div>
|
| <div class="markdown level1 conceptual"></div>
|
| <h5 class="decalaration">Declaration</h5>
|
| <div class="codewrapper">
|
| <pre><code class="lang-csharp hljs">public virtual void WriteAll(IEnumerable<KeyValuePair<TK, TV>> entries)</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><<span class="xref">System.Collections.Generic.KeyValuePair</span><TK, TV>></td>
|
| <td><span class="parametername">entries</span></td>
|
| <td><p>The map.</p> |
| </td>
|
| </tr>
|
| </tbody>
|
| </table>
|
| <h3 id="implements">Implements</h3>
|
| <div>
|
| <a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore-2.html">ICacheStore<TK, TV></a>
|
| </div>
|
| <div>
|
| <a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore.html">ICacheStore</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 - 2017 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>
|