|
ehcache | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.sf.ehcache.store.AbstractStore
net.sf.ehcache.store.disk.DiskStore
public final class DiskStore
Implements a persistent-to-disk store.
All new elements are automatically scheduled for writing to disk.
| Field Summary | |
|---|---|
static String |
AUTO_DISK_PATH_DIRECTORY_PREFIX
If the CacheManager needs to resolve a conflict with the disk path, it will create a subdirectory in the given disk path with this prefix followed by a number. |
| Fields inherited from interface net.sf.ehcache.store.Store |
|---|
CLUSTER_COHERENT, NODE_COHERENT |
| Method Summary | |
|---|---|
boolean |
bufferFull()
Some store types, such as the disk stores can fill their write buffers if puts come in too fast. |
void |
changeDiskCapacity(int newCapacity)
Change the disk capacity, in number of elements |
boolean |
cleanUpFailedMarker(Serializable key)
Will check whether a Placeholder that failed to flush to disk is lying around If so, it'll try to evict it |
boolean |
containsKey(Object key)
A check to see if a key is in the Store. |
boolean |
containsKeyInMemory(Object key)
A check to see if a key is in the Store and is currently held in memory. |
boolean |
containsKeyOffHeap(Object key)
A check to see if a key is in the Store and is currently held off-heap. |
boolean |
containsKeyOnDisk(Object key)
A check to see if a key is in the Store and is currently held on disk. |
static DiskStore |
create(Cache cache,
String diskStorePath)
Creates a persitent-to-disk store for the given cache, using the given disk path. |
static DiskStore |
create(Ehcache cache,
String diskStorePath,
Pool onHeapPool,
Pool onDiskPool)
Creates a persitent-to-disk store for the given cache, using the given disk path. |
StripedReadWriteLock |
createStripedReadWriteLock()
Will create a StripedReadWriteLock always using the same spreading function |
void |
dispose()
Prepares for shutdown. |
boolean |
evict(Object key,
DiskStorageFactory.DiskSubstitute substitute)
Remove the matching mapping. |
Element |
evictElement(Object key,
DiskStorageFactory.DiskSubstitute substitute)
Remove the matching mapping. |
boolean |
evictFromOnDisk(int count,
long size)
Perform eviction to release on-disk resources |
boolean |
evictFromOnHeap(int count,
long size)
Perform eviction to release on-heap resources |
void |
expireElements()
Expire all elements. |
boolean |
fault(Object key,
net.sf.ehcache.store.disk.DiskStorageFactory.Placeholder expect,
DiskStorageFactory.DiskMarker fault)
Atomically switch (CAS) the expect representation of this element for the
fault representation. |
void |
fill(Element e)
Add this element to the cache if the key is already present or the add can succeed without resorting to eviction. |
void |
flush()
Flush elements to persistent store. |
static String |
generateUniqueDirectory()
Generates a unique directory name for use in automatically creating a diskStorePath where there is a conflict. |
Element |
get(Object key)
Gets an item from the cache. |
long |
getApproximateDiskByteSize()
Return the approximate disk size in bytes |
long |
getApproximateDiskCountSize()
Return the approximate disk size |
float |
getApproximateDiskHitRate()
Return the approximate disk hit rate |
float |
getApproximateDiskMissRate()
Return the approximate disk miss rate |
long |
getApproximateHeapByteSize()
Return the approximate heap size in bytes |
long |
getApproximateHeapCountSize()
Return the approximate heap size |
float |
getApproximateHeapHitRate()
Return the approximate heap hit rate |
float |
getApproximateHeapMissRate()
Return the approximate heap miss rate |
File |
getDataFile()
Return a reference to the data file backing this store. |
File |
getIndexFile()
Return a reference to the index file for this store. |
Policy |
getInMemoryEvictionPolicy()
|
int |
getInMemorySize()
Returns the current local in-memory store size |
long |
getInMemorySizeInBytes()
Gets the size of the in-memory portion of the store, in bytes. |
Object |
getInternalContext()
This should not be used, and will generally return null |
List |
getKeys()
Gets an Array of the keys for all elements in the disk store. |
Object |
getMBean()
Optional implementation specific MBean exposed by the store. |
int |
getOffHeapSize()
Returns the current local off-heap store size |
long |
getOffHeapSizeInBytes()
Gets the size of the off-heap portion of the store, in bytes. |
int |
getOnDiskSize()
Returns the current local on-disk store size |
long |
getOnDiskSizeInBytes()
Gets the size of the on-disk portion of the store, in bytes. |
Set |
getPresentPinnedKeys()
Returns all the keys that are pinned, for which there is a mapping present |
Element |
getQuiet(Object key)
Gets an Element from the Store, without updating statistics |
List<DiskStorageFactory.DiskSubstitute> |
getRandomSample(ElementSubstituteFilter factory,
int sampleSize,
Object keyHint)
Select a random sample of elements generated by the supplied factory. |
int |
getSize()
Returns the current local store size |
Status |
getStatus()
Returns the cache status. |
int |
getTerracottaClusteredSize()
Returns the current Terracotta clustered store size |
boolean |
isPersistent()
Is this store persistent (data survives a JVM restart) |
boolean |
isPinned(Object key)
Check if the key is pinned |
boolean |
isTierPinned()
Is this TierableStore pinned ? |
Set<Object> |
keySet()
Get a set view of the keys in this store |
boolean |
put(Element element)
Puts an item into the store. |
Element |
putIfAbsent(Element element)
Put an element in the store if no element is currently mapped to the elements key. |
boolean |
putRawIfAbsent(Object key,
DiskStorageFactory.DiskMarker encoded)
Put the given encoded element directly into the store |
boolean |
putWithWriter(Element element,
CacheWriterManager writerManager)
Puts an item into the store and the cache writer manager in an atomic operation |
Element |
remove(Object key)
Removes an item from the cache. |
void |
removeAll()
Remove all of the elements from the store. |
Element |
removeElement(Element element,
ElementValueComparator comparator)
Remove the Element mapped to the key for the supplied element if the value of the supplied Element is equal to the value of the cached Element. |
boolean |
removeIfTierNotPinned(Object key)
Removes the element if the tier. |
void |
removeNoReturn(Object key)
Removes an item from the cache. |
Element |
removeWithWriter(Object key,
CacheWriterManager writerManager)
Removes an item from the store and the cache writer manager in an atomic operation. |
Element |
replace(Element element)
Replace the cached element only if an Element is currently cached for this key |
boolean |
replace(Element old,
Element element,
ElementValueComparator comparator)
Replace the cached element only if the value of the current Element is equal to the value of the supplied old Element. |
void |
setInMemoryEvictionPolicy(Policy policy)
Sets the eviction policy strategy. |
void |
setPinned(Object key,
boolean pinned)
Mark the key as pinned or not |
void |
unpinAll()
unpin all pinned keys |
Object |
unretrievedGet(Object key)
Return the unretrieved (undecoded) value for this key |
| Methods inherited from class net.sf.ehcache.store.AbstractStore |
|---|
addStoreListener, executeQuery, getAll, getAllQuiet, getEventListenerList, getSearchAttribute, hasAbortedSizeOf, isCacheCoherent, isClusterCoherent, isNodeCoherent, putAll, recalculateSize, removeAll, removeStoreListener, setAttributeExtractors, setNodeCoherent, waitUntilClusterCoherent |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface net.sf.ehcache.store.Store |
|---|
addStoreListener, executeQuery, getAll, getAllQuiet, getSearchAttribute, hasAbortedSizeOf, isCacheCoherent, isClusterCoherent, isNodeCoherent, putAll, recalculateSize, removeAll, removeStoreListener, setAttributeExtractors, setNodeCoherent, waitUntilClusterCoherent |
| Field Detail |
|---|
public static final String AUTO_DISK_PATH_DIRECTORY_PREFIX
| Method Detail |
|---|
public static DiskStore create(Ehcache cache,
String diskStorePath,
Pool onHeapPool,
Pool onDiskPool)
cache - cache that fronts this storediskStorePath - disk path to store data inonHeapPool - pool to track heap usageonDiskPool - pool to track disk usage
public static DiskStore create(Cache cache,
String diskStorePath)
cache - cache that fronts this storediskStorePath - disk path to store data in
public void unpinAll()
unpinAll in interface Storepublic boolean isPinned(Object key)
isPinned in interface Storekey - the key to be checked
true if the element is pinned
public void setPinned(Object key,
boolean pinned)
setPinned in interface Storekey - the key to be pinned or notpinned - true if the key should be pinned, false otherwisepublic static String generateUniqueDirectory()
AUTO_DISK_PATH_DIRECTORY_PREFIX followed by "_" followed by the current
time as a long e.g. ehcache_auto_created_1149389837006public boolean cleanUpFailedMarker(Serializable key)
key - the key
public StripedReadWriteLock createStripedReadWriteLock()
createStripedReadWriteLock in interface StripedReadWriteLockProviderpublic void changeDiskCapacity(int newCapacity)
newCapacity - the new max elements on diskpublic boolean bufferFull()
bufferFull in interface Storepublic boolean containsKeyInMemory(Object key)
containsKeyInMemory in interface Storekey - The Element key
public boolean containsKeyOffHeap(Object key)
containsKeyOffHeap in interface Storekey - The Element key
public boolean containsKeyOnDisk(Object key)
containsKeyOnDisk in interface Storekey - The Element key
public void expireElements()
expireElements in interface Store
public void flush()
throws IOException
flush in interface StoreIOException - if any IO error occurspublic Policy getInMemoryEvictionPolicy()
getInMemoryEvictionPolicy in interface StoreStore.setInMemoryEvictionPolicy(Policy)public int getInMemorySize()
getInMemorySize in interface Storepublic long getInMemorySizeInBytes()
getInMemorySizeInBytes in interface Storepublic int getOffHeapSize()
getOffHeapSize in interface Storepublic long getOffHeapSizeInBytes()
getOffHeapSizeInBytes in interface Storepublic int getOnDiskSize()
getOnDiskSize in interface Storepublic long getOnDiskSizeInBytes()
getOnDiskSizeInBytes in interface Storepublic int getTerracottaClusteredSize()
getTerracottaClusteredSize in interface Storepublic void setInMemoryEvictionPolicy(Policy policy)
setInMemoryEvictionPolicy in interface Storepolicy - the new policypublic File getDataFile()
public File getIndexFile()
public Object getMBean()
getMBean in interface Storepublic void fill(Element e)
fill in interface TierableStoree - element to be addedpublic boolean removeIfTierNotPinned(Object key)
removeIfTierNotPinned in interface TierableStorekey - the key to the element
Store.remove(Object)public boolean put(Element element)
put in interface Store
public boolean putWithWriter(Element element,
CacheWriterManager writerManager)
putWithWriter in interface Storepublic Element get(Object key)
get in interface Storepublic Element getQuiet(Object key)
Element from the Store, without updating statistics
getQuiet in interface Storepublic Object unretrievedGet(Object key)
key - key to lookup
public boolean putRawIfAbsent(Object key,
DiskStorageFactory.DiskMarker encoded)
throws IllegalArgumentException
key - the key of the elementencoded - the encoded element
IllegalArgumentException - if the supplied key is already presentpublic List getKeys()
getKeys in interface StoreSerializable keyspublic Set<Object> keySet()
public Element remove(Object key)
remove in interface Storepublic void removeNoReturn(Object key)
removeNoReturn in interface TierableStorepublic boolean isTierPinned()
isTierPinned in interface TierableStorepublic Set getPresentPinnedKeys()
getPresentPinnedKeys in interface TierableStorepublic boolean isPersistent()
isPersistent in interface TierableStore
public Element removeWithWriter(Object key,
CacheWriterManager writerManager)
removeWithWriter in interface Storepublic void removeAll()
CacheEventListeners they are notified of the expiry or removal
of the Element as each is removed.
removeAll in interface Storepublic void dispose()
dispose in interface Storepublic int getSize()
getSize in interface Storepublic Status getStatus()
getStatus in interface Store
public boolean evictFromOnHeap(int count,
long size)
evictFromOnHeap in interface PoolableStorecount - the number of elements to evictsize - the size in bytes to free (hint)
public boolean evictFromOnDisk(int count,
long size)
evictFromOnDisk in interface PoolableStorecount - the number of elements to evictsize - the size in bytes to free (hint)
public float getApproximateDiskHitRate()
getApproximateDiskHitRate in interface PoolableStorepublic float getApproximateDiskMissRate()
getApproximateDiskMissRate in interface PoolableStorepublic long getApproximateDiskCountSize()
getApproximateDiskCountSize in interface PoolableStorepublic long getApproximateDiskByteSize()
getApproximateDiskByteSize in interface PoolableStorepublic float getApproximateHeapHitRate()
getApproximateHeapHitRate in interface PoolableStorepublic float getApproximateHeapMissRate()
getApproximateHeapMissRate in interface PoolableStorepublic long getApproximateHeapCountSize()
getApproximateHeapCountSize in interface PoolableStorepublic long getApproximateHeapByteSize()
getApproximateHeapByteSize in interface PoolableStorepublic boolean containsKey(Object key)
containsKey in interface Storekey - The Element key
public Object getInternalContext()
getInternalContext in interface Store
public Element putIfAbsent(Element element)
throws NullPointerException
putIfAbsent in interface Storeelement - element to be added
NullPointerException - if the element is null, or has a null key
public Element removeElement(Element element,
ElementValueComparator comparator)
throws NullPointerException
removeElement in interface Storeelement - Element to be removedcomparator - ElementValueComparator to use to compare elements
NullPointerException - if the element is null, or has a null key
public boolean replace(Element old,
Element element,
ElementValueComparator comparator)
throws NullPointerException,
IllegalArgumentException
replace in interface Storeold - Element to be test againstelement - Element to be cachedcomparator - ElementValueComparator to use to compare elements
NullPointerException - if the either Element is null or has a null key
IllegalArgumentException - if the two Element keys are non-null but not equal
public Element replace(Element element)
throws NullPointerException
replace in interface Storeelement - Element to be cached
NullPointerException - if the Element is null or has a null key
public boolean fault(Object key,
net.sf.ehcache.store.disk.DiskStorageFactory.Placeholder expect,
DiskStorageFactory.DiskMarker fault)
expect representation of this element for the
fault representation.
A successful switch will return true, and free the replaced element/element-proxy.
A failed switch will return false and free the element/element-proxy which was not
installed.
key - key to which this element (proxy) is mappedexpect - element (proxy) expectedfault - element (proxy) to install
true if fault was installed
public boolean evict(Object key,
DiskStorageFactory.DiskSubstitute substitute)
key - key to match againstsubstitute - optional value to match against
true on a successful remove
public Element evictElement(Object key,
DiskStorageFactory.DiskSubstitute substitute)
key - key to match againstsubstitute - optional value to match against
public List<DiskStorageFactory.DiskSubstitute> getRandomSample(ElementSubstituteFilter factory,
int sampleSize,
Object keyHint)
factory - generator of the given typesampleSize - minimum number of elements to returnkeyHint - a key on which we are currently working
|
ehcache | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||