blob: 6fe793a7871a1c8ec44b359b58cec24c30e131c1 [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.8.1/dotnetdoc/api/Apache.Ignite.Core.Cache.Affinity.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.Affinity
| Apache Ignite.NET </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Namespace Apache.Ignite.Core.Cache.Affinity
| 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.Affinity">
<h1 id="Apache_Ignite_Core_Cache_Affinity" data-uid="Apache.Ignite.Core.Cache.Affinity" class="text-break">Namespace Apache.Ignite.Core.Cache.Affinity
</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.Affinity.AffinityFunctionBase.html">AffinityFunctionBase</a></h4>
<section><p>Base class for predefined affinity functions.</p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityFunctionContext.html">AffinityFunctionContext</a></h4>
<section><p>Affinity function context.</p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityKeyMappedAttribute.html">AffinityKeyMappedAttribute</a></h4>
<section><p>Specifies cache key field to be used to determine a node on which given cache key will be stored.
Only one field or property can be marked with this attribute.
<p>
This attribute is an alternative to <a class="xref" href="Apache.Ignite.Core.Binary.BinaryTypeConfiguration.html#Apache_Ignite_Core_Binary_BinaryTypeConfiguration_AffinityKeyFieldName">AffinityKeyFieldName</a> setting.
This attribute has lower priority than <a class="xref" href="Apache.Ignite.Core.Binary.BinaryTypeConfiguration.html#Apache_Ignite_Core_Binary_BinaryTypeConfiguration_AffinityKeyFieldName">AffinityKeyFieldName</a> setting.
<p>
One of the major use cases for this attribute is the routing of grid computations
to the nodes where the data for this computation is cached, the concept otherwise known as
Colocation Of Computations And Data.
<p>
For example, if a Person object is always accessed together with a Company object for which this person
is an employee, then for better performance and scalability it makes sense to colocate Person objects
together with their Company object when storing them in cache.
To achieve that, cache key used to cache Person objects should have a field or property marked with
<a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityKeyMappedAttribute.html">AffinityKeyMappedAttribute</a> attribute, which will provide the value of
the company key for which that person works.</p>
</section>
<h3 id="structs">Structs
</h3>
<h4><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityKey.html">AffinityKey</a></h4>
<section><p>Optional wrapper for cache keys to provide support for custom affinity mapping.
The value returned by <a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityKey.html#Apache_Ignite_Core_Cache_Affinity_AffinityKey_Affinity">Affinity</a> will be used for key-to-node affinity.</p>
</section>
<h4><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a></h4>
<section><p>Affinity topology version.</p>
</section>
<h3 id="interfaces">Interfaces
</h3>
<h4><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.IAffinityFunction.html">IAffinityFunction</a></h4>
<section><p>Represents a function that maps cache keys to cluster nodes.
<p>
Predefined implementations:
<a class="xref" href="Apache.Ignite.Core.Cache.Affinity.Rendezvous.RendezvousAffinityFunction.html">RendezvousAffinityFunction</a>.</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 - 2019 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>