Class ReplCache<K,V>
java.lang.Object
org.jgroups.blocks.ReplCache<K,V>
- Type Parameters:
K- KV- V
- All Implemented Interfaces:
Cache.ChangeListener, Receiver
Cache which allows for replication factors per data items; the factor determines how many replicas
of a key/value we create across the cluster.
See doc/design/ReplCache.txt for details.
See doc/design/ReplCache.txt for details.
- Author:
- Bela Ban
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfacestatic classstatic interfacestatic interfacestatic final record -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid_removeMany(Set<K> keys) voidvoidvoidchanged()voidclear()Removes all keys and values in the L2 and L1 cachesdump()Returns the value associated with keylonglongintshortCache<K, ReplCache.Value<V>> getProps()getView()booleanbooleanvoidvoidvoidPlaces a key/value pair into one or several nodes in the cluster.voidPlaces a key/value pair into one or several nodes in the cluster.voidRemoves key in all nodes in the cluster, both from their local hashmaps and L1 cachesvoidRemoves key in all nodes in the cluster, both from their local hashmaps and L1 cachesvoidvoidvoidsetCachingTime(long caching_time) voidsetCallTimeout(long call_timeout) voidsetClusterName(String cluster_name) voidsetDefaultReplicationCount(short default_replication_count) voidsetHashFunction(ReplCache.HashFunction<K> hash_function) voidsetHashFunctionFactory(ReplCache.HashFunctionFactory<K> hash_function_factory) voidsetL1Cache(Cache<K, V> cache) voidsetL2Cache(Cache<K, ReplCache.Value<V>> cache) voidsetMigrateData(boolean migrate_data) voidvoidstart()voidstop()toString()voidviewAccepted(View new_view) Called when a change in membership has occurred.
-
Field Details
-
methods
-
-
Constructor Details
-
ReplCache
-
-
Method Details
-
getProps
-
setProps
-
getLocalAddress
-
getLocalAddressAsString
-
getView
-
getClusterSize
public int getClusterSize() -
isL1CacheEnabled
public boolean isL1CacheEnabled() -
getClusterName
-
setClusterName
-
getCallTimeout
public long getCallTimeout() -
setCallTimeout
public void setCallTimeout(long call_timeout) -
getCachingTime
public long getCachingTime() -
setCachingTime
public void setCachingTime(long caching_time) -
isMigrateData
public boolean isMigrateData() -
setMigrateData
public void setMigrateData(boolean migrate_data) -
getDefaultReplicationCount
public short getDefaultReplicationCount() -
setDefaultReplicationCount
public void setDefaultReplicationCount(short default_replication_count) -
getHashFunction
-
setHashFunction
-
getHashFunctionFactory
-
setHashFunctionFactory
-
addReceiver
-
removeMembershipListener
-
addChangeListener
-
removeChangeListener
-
getL1Cache
-
setL1Cache
-
getL2Cache
-
setL2Cache
-
start
-
stop
public void stop() -
put
Places a key/value pair into one or several nodes in the cluster.- Parameters:
key- The key, needs to be serializableval- The value, needs to be serializablerepl_count- Number of replicas. The total number of times a data item should be present in a cluster. Needs to be > 0- -1: create key/val in all the nodes in the cluster
- 1: create key/val only in one node in the cluster, picked by computing the consistent hash of KEY
- K > 1: create key/val in those nodes in the cluster which match the consistent hashes created for KEY
timeout- Expiration time for key/value.- -1: don't cache at all in the L1 cache
- 0: cache forever, until removed or evicted because we need space for newer elements
- > 0: number of milliseconds to keep an idle element in the cache. An element is idle when not accessed.
synchronous- Whether or not to block until all cluster nodes have applied the change
-
put
Places a key/value pair into one or several nodes in the cluster.- Parameters:
key- The key, needs to be serializableval- The value, needs to be serializablerepl_count- Number of replicas. The total number of times a data item should be present in a cluster. Needs to be > 0- -1: create key/val in all the nodes in the cluster
- 1: create key/val only in one node in the cluster, picked by computing the consistent hash of KEY
- K > 1: create key/val in those nodes in the cluster which match the consistent hashes created for KEY
timeout- Expiration time for key/value.- -1: don't cache at all in the L1 cache
- 0: cache forever, until removed or evicted because we need space for newer elements
- > 0: number of milliseconds to keep an idle element in the cache. An element is idle when not accessed.
-
put
-
get
-
remove
Removes key in all nodes in the cluster, both from their local hashmaps and L1 caches- Parameters:
key- The key, needs to be serializable
-
remove
Removes key in all nodes in the cluster, both from their local hashmaps and L1 caches- Parameters:
key- The key, needs to be serializable
-
clear
public void clear()Removes all keys and values in the L2 and L1 caches -
_put
-
_put
-
_get
-
_remove
-
_removeMany
-
viewAccepted
Description copied from interface:ReceiverCalled when a change in membership has occurred. No long running actions, sending of messages or anything that could block should be done in this callback. If some long running action needs to be performed, it should be done in a separate thread.
Note that on reception of the first view (a new member just joined), the channel will not yet be in the connected state. This only happens whenJChannel.connect(String)returns.- Specified by:
viewAcceptedin interfaceReceiver
-
changed
public void changed()- Specified by:
changedin interfaceCache.ChangeListener
-
toString
-
dump
-
mcastEntries
public void mcastEntries()
-