public class FifoEvictionPolicy<K,V> extends Object implements EvictionPolicy<K,V>, FifoEvictionPolicyMBean, Externalizable
First In First Out (FIFO) algorithm and supports batch eviction.
The eviction starts when the cache size becomes batchSize elements greater than the maximum size.
batchSize elements will be evicted in this case. The default batchSize value is 1.
This implementation is very efficient since it does not create any additional
table-like data structures. The FIFO ordering information is
maintained by attaching ordering metadata to cache entries.
| Constructor and Description |
|---|
FifoEvictionPolicy()
Constructs FIFO eviction policy with all defaults.
|
FifoEvictionPolicy(int max)
Constructs FIFO eviction policy with maximum size.
|
FifoEvictionPolicy(int max,
int batchSize)
Constructs FIFO eviction policy with maximum size and given batch size.
|
| Modifier and Type | Method and Description |
|---|---|
int |
getBatchSize()
Gets batch size.
|
int |
getCurrentSize()
Gets current queue size.
|
int |
getMaxSize()
Gets maximum allowed size of cache before entry will start getting evicted.
|
void |
onEntryAccessed(boolean rmv,
EvictableEntry<K,V> entry)
Callback for whenever entry is accessed.
|
Collection<EvictableEntry<K,V>> |
queue()
Gets read-only view on internal
FIFO queue in proper order. |
void |
readExternal(ObjectInput in) |
void |
setBatchSize(int batchSize)
Sets batch size.
|
void |
setMaxSize(int max)
Sets maximum allowed size of cache before entry will start getting evicted.
|
String |
toString() |
void |
writeExternal(ObjectOutput out) |
public FifoEvictionPolicy()
public FifoEvictionPolicy(int max)
max - Maximum allowed size of cache before entry will start getting evicted.public FifoEvictionPolicy(int max,
int batchSize)
max - Maximum allowed size of cache before entry will start getting evicted.batchSize - Batch size.public int getMaxSize()
getMaxSize in interface FifoEvictionPolicyMBeanpublic void setMaxSize(int max)
setMaxSize in interface FifoEvictionPolicyMBeanmax - Maximum allowed size of cache before entry will start getting evicted.public int getBatchSize()
getBatchSize in interface FifoEvictionPolicyMBeanpublic void setBatchSize(int batchSize)
setBatchSize in interface FifoEvictionPolicyMBeanbatchSize - Batch size.public int getCurrentSize()
getCurrentSize in interface FifoEvictionPolicyMBeanpublic Collection<EvictableEntry<K,V>> queue()
FIFO queue in proper order.'FIFO' queue.public void onEntryAccessed(boolean rmv,
EvictableEntry<K,V> entry)
onEntryAccessed in interface EvictionPolicy<K,V>rmv - True if entry has been removed, false otherwise.entry - Accessed entry.public void writeExternal(ObjectOutput out) throws IOException
writeExternal in interface ExternalizableIOExceptionpublic void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal in interface ExternalizableIOExceptionClassNotFoundException
Follow @ApacheIgnite
Ignite Fabric : ver. 1.1.0-incubating Release Date : May 20 2015