Class RedisKeyValueStore
- java.lang.Object
- 
- org.nuxeo.runtime.kv.AbstractKeyValueStoreProvider
- 
- org.nuxeo.ecm.core.redis.contribs.RedisKeyValueStore
 
 
- 
- All Implemented Interfaces:
- KeyValueStore,- KeyValueStoreProvider
 
 public class RedisKeyValueStore extends AbstractKeyValueStoreProvider Redis implementation of a Key/Value Store Provider.The following configuration properties are available: - namespace: the Redis namespace to use for keys (in addition to the global Redis namespace configured in the Redis
 service). DEPRECATED since 10.10, use the descriptor's <namespace>element instead.
 - Since:
- 9.1
 
- 
- 
Field SummaryFields Modifier and Type Field Description protected byte[]compareAndDelSHAprotected byte[]compareAndSetSHAprotected byte[]compareNullAndSetSHAprotected Stringnamespacestatic StringNAMESPACE_PROPDeprecated.since 10.10protected static LongONE- 
Fields inherited from class org.nuxeo.runtime.kv.AbstractKeyValueStoreProvidername, UTF_8_DECODERS
 
- 
 - 
Constructor SummaryConstructors Constructor Description RedisKeyValueStore()
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description longaddAndGet(String key, long delta)Atomically adds the delta to the value associated to the key, interpreted as a long represented as a string.voidclear()Clears the content of this Key/Value store provider.voidclose()Closes this Key/Value store provider.booleancompareAndSet(String key, byte[] expected, byte[] value, long ttl)Atomically sets the value associated to the key to the given value, with the given TTL, if the current value is the expected value.static StringecapeGlob(String prefix)Escape glob-like wildcards and [] char ranges with a backslash.byte[]get(String key)Retrieves the value associated to the key.Map<String,byte[]>get(Collection<String> keys)Retrieves the key/value map associated with the keys.protected static byte[]getBytes(String key)Map<String,Long>getLongs(Collection<String> keys)Retrieves the key/value map associated with the keys.protected String[]getNamespace(KeyValueStoreDescriptor descriptor)Map<String,String>getStrings(Collection<String> keys)Retrieves the key/value map associated with the keys.protected List<byte[]>getValuesForKeys(Collection<String> keys)voidinitialize(KeyValueStoreDescriptor descriptor)Initializes this Key/Value store provider.Stream<String>keyStream()Returns aStreamof the keys contained in this Key/Value store provider.Stream<String>keyStream(String prefix)Returns aStreamof the keys with the given prefix contained in this Key/Value store provider.voidput(String key, byte[] value, long ttl)Sets the value associated to the key, and a TTL.booleansetTTL(String key, long ttl)Sets the TTL for an existing key.- 
Methods inherited from class org.nuxeo.runtime.kv.AbstractKeyValueStoreProviderbytesToLong, bytesToString, compareAndSet, compareAndSet, compareAndSet, getLong, getString, longToBytes, put, put, put, put, put, stringToBytes, toString
 
- 
 
- 
- 
- 
Field Detail- 
NAMESPACE_PROP@Deprecated public static final String NAMESPACE_PROP Deprecated.since 10.10- See Also:
- Constant Field Values
 
 - 
ONEprotected static final Long ONE 
 - 
namespaceprotected String namespace 
 - 
compareAndSetSHAprotected byte[] compareAndSetSHA 
 - 
compareAndDelSHAprotected byte[] compareAndDelSHA 
 - 
compareNullAndSetSHAprotected byte[] compareNullAndSetSHA 
 
- 
 - 
Method Detail- 
getBytesprotected static byte[] getBytes(String key) 
 - 
initializepublic void initialize(KeyValueStoreDescriptor descriptor) Description copied from interface:KeyValueStoreProviderInitializes this Key/Value store provider.- Specified by:
- initializein interface- KeyValueStoreProvider
- Overrides:
- initializein class- AbstractKeyValueStoreProvider
- Parameters:
- descriptor- the store provider descriptor
 
 - 
getNamespaceprotected String[] getNamespace(KeyValueStoreDescriptor descriptor) 
 - 
keyStreampublic Stream<String> keyStream() Description copied from interface:KeyValueStoreProviderReturns aStreamof the keys contained in this Key/Value store provider.This operation may be slow and should only be used for management or debug purposes. - Returns:
- the stream of keys
 
 - 
keyStreampublic Stream<String> keyStream(String prefix) Description copied from interface:KeyValueStoreProviderReturns aStreamof the keys with the given prefix contained in this Key/Value store provider.This operation may be slow and should only be used for management or debug purposes. - Returns:
- the stream of keys
 
 - 
ecapeGlobpublic static String ecapeGlob(String prefix) Escape glob-like wildcards and [] char ranges with a backslash.
 - 
closepublic void close() Description copied from interface:KeyValueStoreProviderCloses this Key/Value store provider.
 - 
clearpublic void clear() Description copied from interface:KeyValueStoreProviderClears the content of this Key/Value store provider.
 - 
putpublic void put(String key, byte[] value, long ttl) Description copied from interface:KeyValueStoreSets the value associated to the key, and a TTL.- Parameters:
- key- the key
- value- the value, which may be- null
- ttl- the TTL, in seconds (0 for infinite)
 
 - 
getpublic byte[] get(String key) Description copied from interface:KeyValueStoreRetrieves the value associated to the key.- Parameters:
- key- the key
- Returns:
- the value, or nullif there is no value
 
 - 
getpublic Map<String,byte[]> get(Collection<String> keys) Description copied from interface:KeyValueStoreRetrieves the key/value map associated with the keys.- Specified by:
- getin interface- KeyValueStore
- Overrides:
- getin class- AbstractKeyValueStoreProvider
- Parameters:
- keys- the keys
- Returns:
- the key/value map
 
 - 
getStringspublic Map<String,String> getStrings(Collection<String> keys) Description copied from interface:KeyValueStoreRetrieves the key/value map associated with the keys.- Specified by:
- getStringsin interface- KeyValueStore
- Overrides:
- getStringsin class- AbstractKeyValueStoreProvider
- Parameters:
- keys- the keys
- Returns:
- the key/value map
 
 - 
getLongspublic Map<String,Long> getLongs(Collection<String> keys) Description copied from interface:KeyValueStoreRetrieves the key/value map associated with the keys.- Specified by:
- getLongsin interface- KeyValueStore
- Overrides:
- getLongsin class- AbstractKeyValueStoreProvider
- Parameters:
- keys- the keys
- Returns:
- the key/value map
 
 - 
getValuesForKeysprotected List<byte[]> getValuesForKeys(Collection<String> keys) - Since:
- 9.10
 
 - 
setTTLpublic boolean setTTL(String key, long ttl) Description copied from interface:KeyValueStoreSets the TTL for an existing key.- Parameters:
- key- the key
- ttl- the TTL, in seconds (0 for infinite)
- Returns:
- trueif the TTL has been set, or- falseif the key does not exist
 
 - 
compareAndSetpublic boolean compareAndSet(String key, byte[] expected, byte[] value, long ttl) Description copied from interface:KeyValueStoreAtomically sets the value associated to the key to the given value, with the given TTL, if the current value is the expected value.Note value comparison is done by value and not by reference. - Parameters:
- key- the key
- expected- the expected value, which may be- null
- value- the updated value, which may be- null
- ttl- the TTL, in seconds (0 for infinite)
- Returns:
- trueif the value was updated, or- falseif not (the expected value was not found)
 
 - 
addAndGetpublic long addAndGet(String key, long delta) throws NumberFormatException Description copied from interface:KeyValueStoreAtomically adds the delta to the value associated to the key, interpreted as a long represented as a string.If the value does not exist (if KeyValueStore.get(java.lang.String)would returnnull), it is interpreted as0.- Specified by:
- addAndGetin interface- KeyValueStore
- Overrides:
- addAndGetin class- AbstractKeyValueStoreProvider
- Parameters:
- key- the key
- delta- the delta to add
- Returns:
- the new value
- Throws:
- NumberFormatException- if the existing value cannot be interpreted as a- long
 
 
- 
 
-