Package org.nuxeo.runtime.kv
Interface KeyValueStore
-
- All Known Subinterfaces:
KeyValueStoreProvider
- All Known Implementing Classes:
AbstractKeyValueStoreProvider
,MemKeyValueStore
,MongoDBKeyValueStore
,RedisKeyValueStore
,SQLKeyValueStore
public interface KeyValueStore
Key/Value Store.This is the interface for a Key/Value store, which stores simple values associated to keys.
A Key/Value store is thread-safe.
- Since:
- 9.1
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description long
addAndGet(String key, long delta)
Atomically adds the delta to the value associated to the key, interpreted as a long represented as a string.boolean
compareAndSet(String key, byte[] expected, byte[] value)
Atomically sets the value associated to the key to the given value if the current value is the expected value.boolean
compareAndSet(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.boolean
compareAndSet(String key, String expected, String value)
Atomically sets the value associated to the key to the given value if the current value is the expected value.boolean
compareAndSet(String key, String expected, String 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.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.Long
getLong(String key)
Retrieves the value associated to the key.Map<String,Long>
getLongs(Collection<String> keys)
Retrieves the key/value map associated with the keys.String
getString(String key)
Retrieves the value associated to the key.Map<String,String>
getStrings(Collection<String> keys)
Retrieves the key/value map associated with the keys.void
put(String key, byte[] value)
Sets the value associated to the key.void
put(String key, byte[] value, long ttl)
Sets the value associated to the key, and a TTL.void
put(String key, Long value)
Sets the value associated to the key.void
put(String key, Long value, long ttl)
Sets the value associated to the key.void
put(String key, String value)
Sets the value associated to the key.void
put(String key, String value, long ttl)
Sets the value associated to the key, and a TTL.boolean
setTTL(String key, long ttl)
Sets the TTL for an existing key.
-
-
-
Method Detail
-
put
void put(String key, byte[] value)
Sets the value associated to the key.- Parameters:
key
- the keyvalue
- the value, which may benull
-
put
void put(String key, String value)
Sets the value associated to the key.- Parameters:
key
- the keyvalue
- the value, which may benull
- Since:
- 9.3
-
put
void put(String key, Long value)
Sets the value associated to the key.- Parameters:
key
- the keyvalue
- the value, which may benull
- Since:
- 10.2
-
put
void put(String key, byte[] value, long ttl)
Sets the value associated to the key, and a TTL.- Parameters:
key
- the keyvalue
- the value, which may benull
ttl
- the TTL, in seconds (0 for infinite)- Since:
- 9.3
-
put
void put(String key, String value, long ttl)
Sets the value associated to the key, and a TTL.- Parameters:
key
- the keyvalue
- the value, which may benull
ttl
- the TTL, in seconds (0 for infinite)- Since:
- 9.3
-
put
void put(String key, Long value, long ttl)
Sets the value associated to the key.- Parameters:
key
- the keyvalue
- the value, which may benull
ttl
- the TTL, in seconds (0 for infinite)- Since:
- 10.2
-
setTTL
boolean setTTL(String key, long ttl)
Sets the TTL for an existing key.- Parameters:
key
- the keyttl
- the TTL, in seconds (0 for infinite)- Returns:
true
if the TTL has been set, orfalse
if the key does not exist- Since:
- 9.3
-
get
byte[] get(String key)
Retrieves the value associated to the key.- Parameters:
key
- the key- Returns:
- the value, or
null
if there is no value
-
getString
String getString(String key)
Retrieves the value associated to the key.- Parameters:
key
- the key- Returns:
- the value, or
null
if there is no value - Throws:
IllegalArgumentException
- if the value cannot be returned as aString
- Since:
- 9.3
-
getLong
Long getLong(String key) throws NumberFormatException
Retrieves the value associated to the key.- Parameters:
key
- the key- Returns:
- the value, or
null
if there is no value - Throws:
NumberFormatException
- if the value cannot be returned as aLong
- Since:
- 10.2
-
get
Map<String,byte[]> get(Collection<String> keys)
Retrieves the key/value map associated with the keys.- Parameters:
keys
- the keys- Returns:
- the key/value map
- Since:
- 9.10
-
getStrings
Map<String,String> getStrings(Collection<String> keys)
Retrieves the key/value map associated with the keys.- Parameters:
keys
- the keys- Returns:
- the key/value map
- Throws:
IllegalArgumentException
- if one of the values cannot be returned as aString
- Since:
- 9.10
-
getLongs
Map<String,Long> getLongs(Collection<String> keys) throws NumberFormatException
Retrieves the key/value map associated with the keys.- Parameters:
keys
- the keys- Returns:
- the key/value map
- Throws:
NumberFormatException
- if one of the values cannot be returned as aLong
- Since:
- 10.2
-
compareAndSet
boolean compareAndSet(String key, byte[] expected, byte[] value)
Atomically sets the value associated to the key to the given value if the current value is the expected value.Note value comparison is done by value and not by reference.
- Parameters:
key
- the keyexpected
- the expected value, which may benull
value
- the updated value, which may benull
- Returns:
true
if the value was updated, orfalse
if not (the expected value was not found)
-
compareAndSet
boolean compareAndSet(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.Note value comparison is done by value and not by reference.
- Parameters:
key
- the keyexpected
- the expected value, which may benull
value
- the updated value, which may benull
ttl
- the TTL, in seconds (0 for infinite)- Returns:
true
if the value was updated, orfalse
if not (the expected value was not found)- Since:
- 9.3
-
compareAndSet
boolean compareAndSet(String key, String expected, String value)
Atomically sets the value associated to the key to the given value if the current value is the expected value.Note value comparison is done by value and not by reference.
- Parameters:
key
- the keyexpected
- the expected value, which may benull
value
- the updated value, which may benull
- Returns:
true
if the value was updated, orfalse
if not (the expected value was not found)- Since:
- 9.3
-
compareAndSet
boolean compareAndSet(String key, String expected, String 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.Note value comparison is done by value and not by reference.
- Parameters:
key
- the keyexpected
- the expected value, which may benull
value
- the updated value, which may benull
ttl
- the TTL, in seconds (0 for infinite)- Returns:
true
if the value was updated, orfalse
if not (the expected value was not found)- Since:
- 9.3
-
addAndGet
long addAndGet(String key, long delta)
Atomically 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
get(java.lang.String)
would returnnull
), it is interpreted as0
.- Parameters:
key
- the keydelta
- the delta to add- Returns:
- the new value
- Throws:
NumberFormatException
- if the existing value cannot be interpreted as along
- Since:
- 10.2
-
-