public class MemKeyValueStore extends AbstractKeyValueStoreProvider
Modifier and Type | Field and Description |
---|---|
protected net.jodah.expiringmap.ExpiringMap<String,byte[]> |
map |
protected String |
name |
protected Lock |
writeLock |
UTF_8_DECODERS
Constructor and Description |
---|
MemKeyValueStore() |
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clears the content of this Key/Value store provider.
|
protected static byte[] |
clone(byte[] value) |
void |
close()
Closes this Key/Value store provider.
|
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.
|
protected void |
doSetTTL(String key,
long ttl) |
byte[] |
get(String key)
Retrieves the value associated to the key.
|
void |
initialize(KeyValueStoreDescriptor descriptor)
Initializes this Key/Value store provider.
|
Stream<String> |
keyStream()
Returns a
Stream of the keys contained in this Key/Value store provider. |
void |
put(String key,
byte[] 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.
|
String |
toString() |
bytesToString, compareAndSet, compareAndSet, compareAndSet, get, getString, getStrings, put, put, put, stringToBytes
public MemKeyValueStore()
public void initialize(KeyValueStoreDescriptor descriptor)
KeyValueStoreProvider
descriptor
- the store provider descriptorpublic Stream<String> keyStream()
KeyValueStoreProvider
Stream
of the keys contained in this Key/Value store provider.
This operation may be slow and should only be used for management or debug purposes.
public void close()
KeyValueStoreProvider
public void clear()
KeyValueStoreProvider
protected static byte[] clone(byte[] value)
public void put(String key, byte[] value, long ttl)
KeyValueStore
key
- the keyvalue
- the value, which may be null
ttl
- the TTL, in seconds (0 for infinite)public byte[] get(String key)
KeyValueStore
key
- the keynull
if there is no valuepublic boolean setTTL(String key, long ttl)
KeyValueStore
key
- the keyttl
- the TTL, in seconds (0 for infinite)true
if the TTL has been set, or false
if the key does not existpublic boolean compareAndSet(String key, byte[] expected, byte[] value, long ttl)
KeyValueStore
Note value comparison is done by value and not by reference.
key
- the keyexpected
- the expected value, which may be null
value
- the updated value, which may be null
ttl
- the TTL, in seconds (0 for infinite)true
if the value was updated, or false
if not (the expected value was not found)Copyright © 2018 Nuxeo. All rights reserved.