| <!DOCTYPE html> |
| <!--[if IE]><![endif]--> |
| <html> |
| |
| <head> |
| <link rel="canonical" href="https://ignite.apache.org/releases/2.5.0/dotnetdoc/api/Apache.Ignite.Core.Cache.Store.html" /> |
| <META NAME="ROBOTS" CONTENT="NOINDEX"> |
| |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| <title>Namespace Apache.Ignite.Core.Cache.Store |
| | Apache Ignite.NET </title> |
| <meta name="viewport" content="width=device-width"> |
| <meta name="title" content="Namespace Apache.Ignite.Core.Cache.Store |
| | Apache Ignite.NET "> |
| <meta name="generator" content="docfx 2.24.0.0"> |
| |
| <link rel="shortcut icon" href="../images/favicon.ico"> |
| <link rel="stylesheet" href="../styles/docfx.vendor.css"> |
| <link rel="stylesheet" href="../styles/docfx.css"> |
| <link rel="stylesheet" href="../styles/main.css"> |
| <meta property="docfx:navrel" content="../toc.html"> |
| <meta property="docfx:tocrel" content="toc.html"> |
| |
| <meta property="docfx:rel" content="../"> |
| |
| |
| <script> |
| (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ |
| (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), |
| m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) |
| })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); |
| |
| ga('create', 'UA-61232409-1', 'auto'); |
| ga('send', 'pageview'); |
| |
| </script></head> |
| <body data-spy="scroll" data-target="#affix"> |
| <div id="wrapper"> |
| <header> |
| |
| <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation"> |
| <div class="container"> |
| <div class="navbar-header"> |
| <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar"> |
| <span class="sr-only">Toggle navigation</span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| </button> |
| |
| <a class="navbar-brand" href="../index.html"> |
| <img id="logo" class="svg" src="../images/logo_ignite_32_32.png" alt=""> |
| </a> |
| </div> |
| <div class="collapse navbar-collapse" id="navbar"> |
| <form class="navbar-form navbar-right" role="search" id="search"> |
| <div class="form-group"> |
| <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off"> |
| </div> |
| </form> |
| </div> |
| </div> |
| </nav> |
| |
| <div class="subnav navbar navbar-default"> |
| <div class="container hide-when-search" id="breadcrumb"> |
| <ul class="breadcrumb"> |
| <li></li> |
| </ul> |
| </div> |
| </div> |
| </header> |
| <div class="container body-content"> |
| |
| <div id="search-results"> |
| <div class="search-list"></div> |
| <div class="sr-items"></div> |
| <ul id="pagination"></ul> |
| </div> |
| </div> |
| <div role="main" class="container body-content hide-when-search"> |
| |
| <div class="sidenav hide-when-search"> |
| <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a> |
| <div class="sidetoggle collapse" id="sidetoggle"> |
| <div id="sidetoc"></div> |
| </div> |
| </div> |
| <div class="article row grid-right"> |
| <div class="col-md-10"> |
| <article class="content wrap" id="_content" data-uid="Apache.Ignite.Core.Cache.Store"> |
| |
| <h1 id="Apache_Ignite_Core_Cache_Store" data-uid="Apache.Ignite.Core.Cache.Store" class="text-break">Namespace Apache.Ignite.Core.Cache.Store |
| </h1> |
| <div class="markdown level0 summary"></div> |
| <div class="markdown level0 conceptual"></div> |
| <div class="markdown level0 remarks"></div> |
| <h3 id="classes">Classes |
| </h3> |
| <h4><a class="xref" href="Apache.Ignite.Core.Cache.Store.CacheParallelLoadStoreAdapter-3.html">CacheParallelLoadStoreAdapter<TK, TV, TData></a></h4> |
| <section><p>Cache storage adapter with parallel loading in LoadAll method. </p> |
| </section> |
| <h4><a class="xref" href="Apache.Ignite.Core.Cache.Store.CacheStoreAdapter-2.html">CacheStoreAdapter<TK, TV></a></h4> |
| <section><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> |
| </section> |
| <h4><a class="xref" href="Apache.Ignite.Core.Cache.Store.CacheStoreException.html">CacheStoreException</a></h4> |
| <section><p>Indicates an error during CacheStore operation.</p> |
| </section> |
| <h3 id="interfaces">Interfaces |
| </h3> |
| <h4><a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore.html">ICacheStore</a></h4> |
| <section><p>Non-generic base type for <a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore-2.html">ICacheStore<TK, TV></a>, used only for configuration property. |
| Users should implement generic <a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore-2.html">ICacheStore<TK, TV></a>.</p> |
| </section> |
| <h4><a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore-2.html">ICacheStore<TK, TV></a></h4> |
| <section><p>API for cache persistent storage for read-through and write-through behavior. |
| <p> |
| Generic argument types depend on <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html#Apache_Ignite_Core_Cache_Configuration_CacheConfiguration_KeepBinaryInStore">KeepBinaryInStore</a> property. |
| When <code>true</code> (default), cache store operates on <a class="xref" href="Apache.Ignite.Core.Binary.IBinaryObject.html">IBinaryObject</a> instances. |
| Otherwise, generic arguments should be the same as in corresponding <a class="xref" href="Apache.Ignite.Core.Cache.ICache-2.html">ICache<TK, TV></a>. |
| <p> |
| Persistent store is configured in Ignite's Spring XML configuration file via |
| <code>CacheConfiguration.setStore()</code> property. If you have an implementation |
| of cache store in .NET, you should use special Java wrapper which accepts assembly name and |
| class name of .NET store implementation (both properties are mandatory).</p> |
| <p>Optionally, you may specify "properies" property to set any property values on an instance of your store. |
| <example> |
| Here is an example:<p> |
| <pre><code><bean class="org.apache.ignite.configuration.CacheConfiguration"> |
| ... |
| <property name="cacheStoreFactory"> |
| <bean class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory"> |
| <property name="assemblyName" value="MyAssembly"/> |
| <property name="className" value="MyApp.MyCacheStore"/> |
| <property name="properties"> |
| <map> |
| <entry key="IntProperty"> |
| <value type="java.lang.Integer">42</value> |
| </entry> |
| <entry key="StringProperty" value="String value"/> |
| </map> |
| </property> |
| </bean> |
| </property> |
| ... |
| </bean></code></pre> |
| <p></example> |
| Assemply name and class name are passed to <a target="_blank" href="http://msdn.microsoft.com/en-us/library/d133hta4.aspx"><strong>System.Activator.CreateInstance(String, String)</strong></a> |
| method during node startup to create an instance of cache store. Refer to its documentation for details. |
| <p> |
| All transactional operations of this API are provided with ongoing <a class="xref" href="Apache.Ignite.Core.Transactions.ITransaction.html">ITransaction</a>, |
| if any. You can attach any metadata to transaction, e.g. to recognize if several operations |
| belong to the same transaction or not. |
| <example> |
| Here is an example of how attach a ODBC connection as transaction metadata:<p> |
| <pre><code>OdbcConnection conn = tx.Meta("some.name"); |
| |
| if (conn == null) |
| { |
| conn = ...; // Create or get connection. |
| |
| // Store connection in transaction metadata, so it can be accessed |
| // for other operations on the same transaction. |
| tx.AddMeta("some.name", conn); |
| }</code></pre> |
| <p></example></p> |
| </section> |
| <h4><a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStoreSession.html">ICacheStoreSession</a></h4> |
| <section><p>Session for the cache store operations. The main purpose of cache store session |
| is to hold context between multiple store invocations whenever in transaction. For example, |
| you can save current database connection in the session <a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStoreSession.html#Apache_Ignite_Core_Cache_Store_ICacheStoreSession_Properties">Properties</a> map. You can then |
| commit this connection in the <a class="xref" href="Apache.Ignite.Core.Cache.Store.ICacheStore-2.html#Apache_Ignite_Core_Cache_Store_ICacheStore_2_SessionEnd_System_Boolean_">SessionEnd(Boolean)</a> method.</p> |
| </section> |
| </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> |