org.apache.ignite.cache.eviction

## Interface EvictionPolicy<K,V>

All Known Implementing Classes:
  AbstractEvictionPolicy, FifoEvictionPolicy, IgfsPerBlockLruEvictionPolicy, LruEvictionPolicy, SortedEvictionPolicy

    public interface EvictionPolicy<K,V>

Pluggable cache eviction policy. Usually, implementations will internally order cache entries based on `onEntryAccessed(boolean, EvictableEntry)` notifications and whenever an element needs to be evicted, `EvictableEntry.evict()` method should be called.

Ignite comes with following eviction policies out-of-the-box:

- `LruEvictionPolicy`
- `FifoEvictionPolicy`
- `SortedEvictionPolicy`

The eviction policy thread-safety is ensured by Ignition. Implementations of this interface should not worry about concurrency and should be implemented as they were only accessed from one thread.

Note that implementations of all eviction policies provided by Ignite are very light weight in a way that they are all lock-free (or very close to it), and do not create any internal tables, arrays, or other expensive structures. The eviction order is preserved by attaching light-weight meta-data to existing cache entries.

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `onEntryAccessed(boolean rmv, EvictableEntry<K,V> entry)` Callback for whenever entry is accessed.

### Method Detail

#### onEntryAccessed

    void onEntryAccessed(boolean rmv,
                         EvictableEntry<K,V> entry)

Callback for whenever entry is accessed.

Parameters:
  `rmv` - `True` if entry has been removed, `false` otherwise.
  `entry` - Accessed entry.

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.7.6
Release Date | : September 11 2019