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

    <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.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.Configuration.DataPageEvictionMode">
  
  
  <h1 id="Apache_Ignite_Core_Configuration_DataPageEvictionMode" data-uid="Apache.Ignite.Core.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.Configuration.html">Apache.Ignite.Core.Configuration</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Configuration_DataPageEvictionMode_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public enum DataPageEvictionMode</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_Configuration_DataPageEvictionMode_Disabled">Disabled</td>
        <td><p>Eviction is disabled.</p>
</td>
      </tr>
      <tr>
        <td id="Apache_Ignite_Core_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_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.Configuration.DataRegionConfiguration.html#Apache_Ignite_Core_Configuration_DataRegionConfiguration_MaxSize">MaxSize</a> / <a class="xref" href="Apache.Ignite.Core.Configuration.DataStorageConfiguration.html#Apache_Ignite_Core_Configuration_DataStorageConfiguration_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.Configuration.DataRegionConfiguration.html#Apache_Ignite_Core_Configuration_DataRegionConfiguration_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">
              <!-- <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>
