|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.exist.storage.cache.LRUCache
public class LRUCache
A simple cache implementing a Last Recently Used policy. This
cache implementation is based on a
SequencedLongHashMap
. Contrary
to the other Cache
implementations,
LRUCache ignores reference counts or timestamps.
Field Summary |
---|
Fields inherited from interface org.exist.storage.cache.Cache |
---|
LOG |
Constructor Summary | |
---|---|
LRUCache(int size,
double growthFactor,
double growthThreshold,
String type)
|
Method Summary | |
---|---|
void |
add(Cacheable item)
Add the item to the cache. |
void |
add(Cacheable item,
int initialRefCount)
Add the item to the cache. |
boolean |
flush()
Call release on all items, but without actually removing them from the cache. |
Cacheable |
get(Cacheable item)
Retrieve an item from the cache. |
Cacheable |
get(long key)
Retrieve an item by its key. |
int |
getBuffers()
Get the size of this cache. |
int |
getFails()
Get the number of times where an object could not be found in the cache. |
String |
getFileName()
|
SequencedLongHashMap.Entry |
getFirst()
|
double |
getGrowthFactor()
Returns the factor by which the cache should grow if it can be resized. |
int |
getHits()
Get the number of times where an object has been successfully loaded from the cache. |
int |
getLoad()
|
int |
getThrashing()
|
String |
getType()
Returns the type of this cache. |
int |
getUsedBuffers()
Get the number of buffers currently used. |
boolean |
hasDirtyItems()
Returns true if the cache contains any dirty items that need to be written to disk. |
void |
remove(Cacheable item)
Remove an item from the cache. |
void |
resize(int newSize)
Resize the cache. |
void |
setCacheManager(CacheManager manager)
Set the CacheManager object that controls this cache. |
void |
setFileName(String fileName)
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public LRUCache(int size, double growthFactor, double growthThreshold, String type)
Method Detail |
---|
public void add(Cacheable item, int initialRefCount)
Cache
add
in interface Cache
initialRefCount
- the initial reference count for the itempublic String getType()
Cache
CacheManager
.
getType
in interface Cache
public void add(Cacheable item)
Cache
add
in interface Cache
public Cacheable get(Cacheable item)
Cache
get
in interface Cache
public Cacheable get(long key)
Cache
get
in interface Cache
key
- a unique key, usually the page number
public void remove(Cacheable item)
Cache
remove
in interface Cache
public boolean flush()
Cache
flush
in interface Cache
public boolean hasDirtyItems()
Cache
hasDirtyItems
in interface Cache
public int getBuffers()
Cache
getBuffers
in interface Cache
public int getUsedBuffers()
Cache
getUsedBuffers
in interface Cache
public int getHits()
Cache
getHits
in interface Cache
public int getFails()
Cache
getFails
in interface Cache
public int getThrashing()
public void setFileName(String fileName)
setFileName
in interface Cache
public String getFileName()
getFileName
in interface Cache
public SequencedLongHashMap.Entry getFirst()
public double getGrowthFactor()
Cache
DefaultCacheManager
.
getGrowthFactor
in interface Cache
public void setCacheManager(CacheManager manager)
Cache
setCacheManager
in interface Cache
public void resize(int newSize)
Cache
DefaultCacheManager
. The newSize parameter
can either be larger or smaller than the current
cache size.
resize
in interface Cache
newSize
- the new size of the cache.public int getLoad()
getLoad
in interface Cache
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |