public class ArcacheClient extends Object implements ArcacheClientInterface
| Modifier and Type | Field and Description |
|---|---|
protected ArcacheBackendClient |
backendClient |
protected long |
defaultExpirationTimeMillis |
protected boolean |
defaultHardInvalidation |
protected long |
defaultInvalidationWindowMillis |
protected long |
defaultOperationTimeoutMillis |
protected long |
defaultStoredObjectRemovalTimeMillis |
protected ArcacheBackendClient |
effectiveInvalidationBackendClient |
protected ProbabilityFunction |
expirationProbabilityFunction |
protected String |
invalidationKeyPrefix |
protected ProbabilityFunction |
invalidationProbabilityFunction |
protected String |
keyDelimiter |
protected String |
keyNamespace |
protected Random |
randomGenerator |
protected long |
timeMeasurementErrorMillis |
protected ArcacheBackendClient |
userConfiguredInvalidationBackendClient
The userConfiguredInvalidationBackendClient is what the user sets, the
effective backend client used is at effectiveInvalidationBackendClient
|
| Modifier | Constructor and Description |
|---|---|
|
ArcacheClient() |
protected |
ArcacheClient(ArcacheBackendClient backendClient) |
| Modifier and Type | Method and Description |
|---|---|
Future<CacheGetResult> |
asyncGetCacheObject(String key)
Allow async get
|
Future<Boolean> |
asyncInvalidateKey(String key,
boolean hardInvalidation,
long invalidationWindowMillis) |
Future<Boolean> |
asyncSet(String key,
Object value) |
Future<Boolean> |
asyncSet(String key,
Object value,
String[] invalidationKeys) |
protected Future<CacheGetResult> |
buildCacheGetterTask(String key) |
protected Future<Boolean> |
buildInvalidateKeyTask(String key,
boolean hardInvalidation,
long invalidationWindowMillis) |
String |
createBackendKey(String userKey)
Create the key to be used in the backend client
|
String |
createInvalidationBackendKey(String invalidationKey) |
Object |
get(String key)
This is the most basic get method.
|
Object |
get(String key,
long timeoutMillis) |
ArcacheBackendClient |
getBackendClient() |
CacheGetResult |
getCacheObject(String key) |
CacheGetResult |
getCacheObject(String key,
long timeoutMillis)
This method never throws an exception, in case of an exception it is returned
inside the returned object
|
long |
getDefaultExpirationTimeMillis() |
boolean |
getDefaultHardInvalidation() |
long |
getDefaultInvalidationWindowMillis() |
long |
getDefaultOperationTimeoutMillis() |
long |
getDefaultStoredObjectRemovalTimeMillis() |
ProbabilityFunction |
getExpirationProbabilityFunction() |
ArcacheBackendClient |
getInvalidationBackendClient() |
ProbabilityFunction |
getInvalidationProbabilityFunction() |
String |
getKeyDelimiter() |
String |
getKeyNamespace() |
long |
getTimeMeasurementErrorMillis() |
void |
invalidateKey(String key)
Invalida una key, utilizando una invalidacion soft o hard segun se haya
configurado, utilizando el invalidationWindow default
|
void |
invalidateKey(String key,
boolean hardInvalidation)
Invalidates a key using the default invalidationWindow
|
void |
invalidateKey(String key,
boolean hardInvalidation,
long invalidationWindowMillis) |
void |
invalidateKey(String key,
long invalidationWindowMillis)
Invalida una key, utilizando una invalidacion soft o hard segun se haya
configurado
|
void |
set(String key,
Object value)
Almacena un valor, como timeout utiliza el default, en caso de falla
retornarĂ¡ una exepcion
|
void |
set(String key,
Object value,
String[] invalidationKeys)
Almacena un valor y define las claves de invalidacion
|
void |
setBackendClient(ArcacheBackendClient backendClient)
Sets the default backend client to store objects and invalidationkeys
|
void |
setDefaultExpirationTimeMillis(long expirationTimeMillis)
Sets the default value to be used to consider a cached object expired
|
void |
setDefaultHardInvalidation(boolean hardInvalidation) |
void |
setDefaultInvalidationWindowMillis(long windowMillis)
set the default invalidation window, this is the ammount of time to do
probabilistic invalidation.
|
void |
setDefaultOperationTimeoutMillis(long timeoutMillis) |
void |
setDefaultStoredObjectRemovalTimeMillis(long removeTimeMillis)
Sets the default value to be used to set the lifetime of the object at
backend level.
|
void |
setExpirationProbabilityFunction(ProbabilityFunction expirationProbabilityFunction)
Sets the function to be used to compute the probability of a key has expired
|
void |
setInvalidationBackendClient(ArcacheBackendClient invalidationBackendClient)
Set the invalidation backend client to store invalidationkeys If you null
this, then the defaultBackendClient is used.
|
void |
setInvalidationProbabilityFunction(ProbabilityFunction invalidationProbabilityFunction)
Sets the function to be used to compute the probability of a key has
invalidated
|
void |
setKeyDelimiter(String keyDelimiter)
Permite configurar un delimitador default para las keys el mismo sera
utilizado par separar las keys de invalidacion y el namespace
|
void |
setKeyNamespace(String namespace)
Permite configurar un namsepace default para todas las keys De esta forma se
puede evitar la colision de keys con otro servicio
|
void |
setTimeMeasurementErrorMillis(long errorMillis)
Error total en la medicion de tiempos expresado en mili segundos debe ser
1000 + maxClockOffset + maxKeyCreationTime maxClockOffset (diferencia maxima
entre 2 relojes de la infraestructura involucrada) maxKeyCreationTime (Tiempo
(95pt) que demanda generar un valor a ser almacenado)
|
protected long defaultOperationTimeoutMillis
protected long timeMeasurementErrorMillis
protected long defaultInvalidationWindowMillis
protected boolean defaultHardInvalidation
protected String keyNamespace
protected String keyDelimiter
protected String invalidationKeyPrefix
protected long defaultExpirationTimeMillis
protected long defaultStoredObjectRemovalTimeMillis
protected ProbabilityFunction expirationProbabilityFunction
protected ProbabilityFunction invalidationProbabilityFunction
protected ArcacheBackendClient backendClient
protected ArcacheBackendClient userConfiguredInvalidationBackendClient
protected ArcacheBackendClient effectiveInvalidationBackendClient
protected Random randomGenerator
public ArcacheClient()
protected ArcacheClient(ArcacheBackendClient backendClient)
public void setBackendClient(ArcacheBackendClient backendClient)
ArcacheConfigurationSetInterfacesetBackendClient in interface ArcacheConfigurationSetInterfacepublic ArcacheBackendClient getBackendClient()
getBackendClient in interface ArcacheConfigurationGetInterfacepublic void setInvalidationBackendClient(ArcacheBackendClient invalidationBackendClient)
ArcacheConfigurationSetInterfacesetInvalidationBackendClient in interface ArcacheConfigurationSetInterfacepublic ArcacheBackendClient getInvalidationBackendClient()
getInvalidationBackendClient in interface ArcacheConfigurationGetInterfacepublic void setDefaultOperationTimeoutMillis(long timeoutMillis)
setDefaultOperationTimeoutMillis in interface ArcacheConfigurationSetInterfacetimeoutMillis - timeoutMillis the default timeout to be used in backend
operationspublic long getDefaultOperationTimeoutMillis()
getDefaultOperationTimeoutMillis in interface ArcacheConfigurationGetInterfacepublic void setTimeMeasurementErrorMillis(long errorMillis)
ArcacheConfigurationSetInterfacesetTimeMeasurementErrorMillis in interface ArcacheConfigurationSetInterfaceerrorMillis - the time measurament error in millisecondspublic long getTimeMeasurementErrorMillis()
getTimeMeasurementErrorMillis in interface ArcacheConfigurationGetInterfacepublic void setDefaultInvalidationWindowMillis(long windowMillis)
ArcacheConfigurationSetInterfacesetDefaultInvalidationWindowMillis in interface ArcacheConfigurationSetInterfacewindowMillis - invalidation window in millisecondspublic long getDefaultInvalidationWindowMillis()
getDefaultInvalidationWindowMillis in interface ArcacheConfigurationGetInterfacepublic void setDefaultHardInvalidation(boolean hardInvalidation)
setDefaultHardInvalidation in interface ArcacheConfigurationSetInterfacehardInvalidation - default type of invalidation to be usedpublic boolean getDefaultHardInvalidation()
getDefaultHardInvalidation in interface ArcacheConfigurationGetInterfacepublic void setKeyNamespace(String namespace)
ArcacheConfigurationSetInterfacesetKeyNamespace in interface ArcacheConfigurationSetInterfacenamespace - ...public String getKeyNamespace()
getKeyNamespace in interface ArcacheConfigurationGetInterfacepublic void setKeyDelimiter(String keyDelimiter)
ArcacheConfigurationSetInterfacesetKeyDelimiter in interface ArcacheConfigurationSetInterfacekeyDelimiter - ...public String getKeyDelimiter()
getKeyDelimiter in interface ArcacheConfigurationGetInterfacepublic void setDefaultExpirationTimeMillis(long expirationTimeMillis)
ArcacheConfigurationSetInterfacesetDefaultExpirationTimeMillis in interface ArcacheConfigurationSetInterfaceexpirationTimeMillis - ...public long getDefaultExpirationTimeMillis()
getDefaultExpirationTimeMillis in interface ArcacheConfigurationGetInterfacepublic void setDefaultStoredObjectRemovalTimeMillis(long removeTimeMillis)
ArcacheConfigurationSetInterfacesetDefaultStoredObjectRemovalTimeMillis in interface ArcacheConfigurationSetInterfaceremoveTimeMillis - ...public long getDefaultStoredObjectRemovalTimeMillis()
getDefaultStoredObjectRemovalTimeMillis in interface ArcacheConfigurationGetInterfacepublic void setExpirationProbabilityFunction(ProbabilityFunction expirationProbabilityFunction)
ArcacheConfigurationSetInterfacesetExpirationProbabilityFunction in interface ArcacheConfigurationSetInterfacepublic ProbabilityFunction getExpirationProbabilityFunction()
getExpirationProbabilityFunction in interface ArcacheConfigurationGetInterfacepublic void setInvalidationProbabilityFunction(ProbabilityFunction invalidationProbabilityFunction)
ArcacheConfigurationSetInterfacesetInvalidationProbabilityFunction in interface ArcacheConfigurationSetInterfacepublic ProbabilityFunction getInvalidationProbabilityFunction()
getInvalidationProbabilityFunction in interface ArcacheConfigurationGetInterfacepublic Object get(String key) throws TimeoutException, Exception
ArcacheReadWriteInterfaceget in interface ArcacheReadWriteInterfaceTimeoutExceptionExceptionpublic Object get(String key, long timeoutMillis) throws TimeoutException, Exception
get in interface ArcacheReadWriteInterfaceTimeoutExceptionExceptionpublic CacheGetResult getCacheObject(String key)
getCacheObject in interface ArcacheReadWriteInterfacepublic CacheGetResult getCacheObject(String key, long timeoutMillis)
ArcacheReadWriteInterfacegetCacheObject in interface ArcacheReadWriteInterfacepublic Future<CacheGetResult> asyncGetCacheObject(String key)
ArcacheReadWriteInterfaceasyncGetCacheObject in interface ArcacheReadWriteInterfaceprotected Future<CacheGetResult> buildCacheGetterTask(String key)
public void set(String key, Object value) throws TimeoutException, Exception
ArcacheReadWriteInterfaceset in interface ArcacheReadWriteInterfaceTimeoutExceptionExceptionpublic void set(String key, Object value, String[] invalidationKeys) throws TimeoutException, Exception
ArcacheReadWriteInterfaceset in interface ArcacheReadWriteInterfaceTimeoutExceptionExceptionpublic Future<Boolean> asyncSet(String key, Object value)
asyncSet in interface ArcacheReadWriteInterfacepublic Future<Boolean> asyncSet(String key, Object value, String[] invalidationKeys)
asyncSet in interface ArcacheReadWriteInterfacepublic void invalidateKey(String key) throws TimeoutException, Exception
ArcacheInvalidationInterfaceinvalidateKey in interface ArcacheInvalidationInterfaceTimeoutExceptionExceptionpublic void invalidateKey(String key, long invalidationWindowMillis) throws TimeoutException, Exception
ArcacheInvalidationInterfaceinvalidateKey in interface ArcacheInvalidationInterfaceTimeoutExceptionExceptionpublic void invalidateKey(String key, boolean hardInvalidation) throws TimeoutException, Exception
ArcacheInvalidationInterfaceinvalidateKey in interface ArcacheInvalidationInterfaceTimeoutException - when the operation exceeds the
DefaultOperationTimeoutException - when there is a problem with the backend operationpublic void invalidateKey(String key, boolean hardInvalidation, long invalidationWindowMillis) throws TimeoutException, Exception
invalidateKey in interface ArcacheInvalidationInterfaceTimeoutExceptionExceptionpublic Future<Boolean> asyncInvalidateKey(String key, boolean hardInvalidation, long invalidationWindowMillis)
asyncInvalidateKey in interface ArcacheInvalidationInterfaceprotected Future<Boolean> buildInvalidateKeyTask(String key, boolean hardInvalidation, long invalidationWindowMillis)
public String createBackendKey(String userKey)
Copyright © 2019. All rights reserved.