K
- the type of the key stored in Near CacheV
- the type of the value stored in Near CacheR
- the type of the value of the underlying NearCacheRecordMap
public abstract class BaseHeapNearCacheRecordStore<K,V,R extends NearCacheRecord> extends AbstractNearCacheRecordStore<K,V,K,R,HeapNearCacheRecordMap<K,R>>
AbstractNearCacheRecordStore
for on-heap Near Caches.AbstractNearCacheRecordStore.ReserveForUpdateFunction
classLoader, evictionChecker, evictionDisabled, evictionPolicyEvaluator, evictionStrategy, maxIdleMillis, MILLI_SECONDS_IN_A_SECOND, nearCacheConfig, nearCacheStats, records, REFERENCE_SIZE, RESERVATION_ID, reservationId, serializationService, staleReadDetector, timeToLiveMillis
NO_LISTENER
Modifier and Type | Method and Description |
---|---|
protected boolean |
containsRecordKey(K key) |
protected EvictionChecker |
createNearCacheEvictionChecker(EvictionConfig evictionConfig,
NearCacheConfig nearCacheConfig) |
protected HeapNearCacheRecordMap<K,R> |
createNearCacheRecordMap(NearCacheConfig nearCacheConfig) |
void |
destroy()
Clears the record store and destroys it.
|
void |
doExpiration()
Performs expiration and evicts expired records.
|
protected R |
getOrCreateToReserve(K key,
Data keyData) |
R |
getRecord(K key)
Gets the record associated with the given
key . |
void |
invalidate(K key)
Removes the value associated with the given
key
and increases the invalidation statistics. |
void |
loadKeys(DataStructureAdapter<Object,?> adapter)
Loads the keys into the Near Cache.
|
void |
onEvict(K key,
R record,
boolean wasExpired)
Called when an
Evictable entry is evicted. |
protected R |
putRecord(K key,
R record) |
protected R |
removeRecord(K key) |
void |
storeKeys()
Persists the key set of the Near Cache.
|
protected V |
updateAndGetReserved(K key,
V value,
long reservationId,
boolean deserialize) |
canUpdateStats, checkAvailable, clear, dataToValue, doEviction, doEvictionIfRequired, get, getKeyStorageMemoryCost, getNearCacheStats, getRecordStorageMemoryCost, getStaleReadDetector, getTotalStorageMemoryCost, initialize, isAvailable, isRecordExpired, onExpire, onGet, onGetError, onPut, onPutError, onRecordCreate, onRemove, onRemoveError, put, recordToValue, setStaleReadDetector, size, toData, toValue, tryPublishReserved, tryReserveForUpdate, updateRecordValue, updateReservedRecordInternal, valueToData, valueToRecord
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
selectToSave
protected EvictionChecker createNearCacheEvictionChecker(EvictionConfig evictionConfig, NearCacheConfig nearCacheConfig)
createNearCacheEvictionChecker
in class AbstractNearCacheRecordStore<K,V,K,R extends NearCacheRecord,HeapNearCacheRecordMap<K,R extends NearCacheRecord>>
protected HeapNearCacheRecordMap<K,R> createNearCacheRecordMap(NearCacheConfig nearCacheConfig)
createNearCacheRecordMap
in class AbstractNearCacheRecordStore<K,V,K,R extends NearCacheRecord,HeapNearCacheRecordMap<K,R extends NearCacheRecord>>
public R getRecord(K key)
NearCacheRecordStore
key
.getRecord
in interface NearCacheRecordStore<K,V>
getRecord
in class AbstractNearCacheRecordStore<K,V,K,R extends NearCacheRecord,HeapNearCacheRecordMap<K,R extends NearCacheRecord>>
key
- the key from which to get the associated NearCacheRecord
.NearCacheRecord
associated with the given key
.protected R putRecord(K key, R record)
putRecord
in class AbstractNearCacheRecordStore<K,V,K,R extends NearCacheRecord,HeapNearCacheRecordMap<K,R extends NearCacheRecord>>
protected R removeRecord(K key)
removeRecord
in class AbstractNearCacheRecordStore<K,V,K,R extends NearCacheRecord,HeapNearCacheRecordMap<K,R extends NearCacheRecord>>
protected boolean containsRecordKey(K key)
containsRecordKey
in class AbstractNearCacheRecordStore<K,V,K,R extends NearCacheRecord,HeapNearCacheRecordMap<K,R extends NearCacheRecord>>
public void onEvict(K key, R record, boolean wasExpired)
EvictionListener
Evictable
entry is evicted.onEvict
in interface EvictionListener<K,R extends NearCacheRecord>
onEvict
in class AbstractNearCacheRecordStore<K,V,K,R extends NearCacheRecord,HeapNearCacheRecordMap<K,R extends NearCacheRecord>>
key
- Accessor of the Evictable
entry that is evicted.record
- Evictable
entry that is evicted.wasExpired
- true
if the entry was evicted due to expiration, false
otherwisepublic void doExpiration()
NearCacheRecordStore
public void loadKeys(DataStructureAdapter<Object,?> adapter)
NearCacheRecordStore
public void storeKeys()
NearCacheRecordStore
public void destroy()
NearCacheRecordStore
destroy
in interface NearCacheRecordStore<K,V>
destroy
in class AbstractNearCacheRecordStore<K,V,K,R extends NearCacheRecord,HeapNearCacheRecordMap<K,R extends NearCacheRecord>>
protected R getOrCreateToReserve(K key, Data keyData)
getOrCreateToReserve
in class AbstractNearCacheRecordStore<K,V,K,R extends NearCacheRecord,HeapNearCacheRecordMap<K,R extends NearCacheRecord>>
protected V updateAndGetReserved(K key, V value, long reservationId, boolean deserialize)
updateAndGetReserved
in class AbstractNearCacheRecordStore<K,V,K,R extends NearCacheRecord,HeapNearCacheRecordMap<K,R extends NearCacheRecord>>
public void invalidate(K key)
NearCacheRecordStore
key
and increases the invalidation statistics.key
- the key of the value will be invalidatedCopyright © 2018 Hazelcast, Inc.. All Rights Reserved.