﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Enum DataPageEvictionMode
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Enum DataPageEvictionMode
   | Apache Ignite.NET ">
    <meta name="generator" content="docfx 2.58.4.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" data-offset="120">
    <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">Search Results for <span></span></div>
          <div class="sr-items">
            <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
          </div>
          <ul id="pagination" data-first="First" data-prev="Previous" data-next="Next" data-last="Last"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Apache.Ignite.Core.Cache.Configuration.DataPageEvictionMode">
  
  
  <h1 id="Apache_Ignite_Core_Cache_Configuration_DataPageEvictionMode" data-uid="Apache.Ignite.Core.Cache.Configuration.DataPageEvictionMode" class="text-break">Enum DataPageEvictionMode
  </h1>
  <div class="markdown level0 summary"><p>Memory page eviction mode.
Only data pages, that store key-value entries, are eligible for eviction.
The other types of pages, like index or system pages, are not evictable.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.html">Apache.Ignite.Core.Cache.Configuration</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Cache_Configuration_DataPageEvictionMode_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public enum DataPageEvictionMode : int</code></pre>
  </div>
  <h3 id="fields">Fields
  </h3>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    <thead>
    <tbody>
      <tr>
        <td id="Apache_Ignite_Core_Cache_Configuration_DataPageEvictionMode_Disabled">Disabled</td>
        <td><p>Eviction is disabled.</p>
</td>
      </tr>
      <tr>
        <td id="Apache_Ignite_Core_Cache_Configuration_DataPageEvictionMode_Random2Lru">Random2Lru</td>
        <td><p>Activates Random-2-LRU algorithm which is a scan resistant version of Random-LRU.
<p>
This algorithm differs from Random-LRU only in a way that two latest access timestamps are stored for every
data page. At the eviction time, a minimum between two latest timestamps is taken for further
comparison with minimums of other pages that might be evicted. LRU-2 outperforms LRU by
resolving &quot;one-hit wonder&quot; problem - if a data page is accessed rarely, but accidentally accessed once,
its protected from eviction for a long time.</p>
</td>
      </tr>
      <tr>
        <td id="Apache_Ignite_Core_Cache_Configuration_DataPageEvictionMode_RandomLru">RandomLru</td>
        <td><p>Random-LRU algorithm.
<p>
Once a memory region defined by a memory policy is configured, an off-heap array is allocated to track
last usage timestamp for every individual data page. The size of the array equals to
<a class="xref" href="Apache.Ignite.Core.Cache.Configuration.MemoryPolicyConfiguration.html#Apache_Ignite_Core_Cache_Configuration_MemoryPolicyConfiguration_MaxSize">MaxSize</a> / <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.html#Apache_Ignite_Core_Cache_Configuration_MemoryConfiguration_PageSize">PageSize</a>.
<p>
When a data page is accessed, its timestamp gets updated in the tracking array. The page index in the
tracking array equals to pageAddress / <a class="xref" href="Apache.Ignite.Core.Cache.Configuration.MemoryPolicyConfiguration.html#Apache_Ignite_Core_Cache_Configuration_MemoryPolicyConfiguration_MaxSize">MaxSize</a>.
<p>
When some pages need to be evicted, the algorithm randomly chooses 5 indexes from the tracking array and
evicts a page with the latest timestamp. If some of the indexes point to non-data pages
(index or system pages) then the algorithm picks other pages.</p>
</td>
      </tr>
    </tbody>
  </thead></thead></table>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
                <h5>In This Article</h5>
                <div></div>
              </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>
