Package org.nuxeo.runtime.kv
Class MemKeyValueStore
java.lang.Object
org.nuxeo.runtime.kv.AbstractKeyValueStoreProvider
org.nuxeo.runtime.kv.MemKeyValueStore
- All Implemented Interfaces:
KeyValueStore,KeyValueStoreProvider
Memory-based implementation of a Key/Value store.
- Since:
- 9.1
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final net.jodah.expiringmap.ExpiringMap<String, byte[]> protected final LockFields inherited from class org.nuxeo.runtime.kv.AbstractKeyValueStoreProvider
name, UTF_8_DECODERS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Clears the content of this Key/Value store provider.protected static byte[]clone(byte[] value) 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.protected voidbyte[]Retrieves the value associated to the key.Returns aStreamof the keys contained in this Key/Value store provider.Returns aStreamof the keys with the given prefix contained in this Key/Value store provider.voidSets the value associated to the key, and a TTL.booleanSets the TTL for an existing key.Methods inherited from class org.nuxeo.runtime.kv.AbstractKeyValueStoreProvider
addAndGet, bytesToLong, bytesToString, compareAndSet, compareAndSet, compareAndSet, get, getLong, getLongs, getString, getStrings, initialize, longToBytes, put, put, put, put, put, stringToBytes, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.nuxeo.runtime.kv.KeyValueStore
remove, removeLong, removeString
-
Field Details
-
map
-
writeLock
-
-
Constructor Details
-
MemKeyValueStore
public MemKeyValueStore()
-
-
Method Details
-
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
-
keyStream
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
-
close
public void close()Description copied from interface:KeyValueStoreProviderCloses this Key/Value store provider. -
clear
public void clear()Description copied from interface:KeyValueStoreProviderClears the content of this Key/Value store provider. -
clone
protected static byte[] clone(byte[] value) -
put
Description copied from interface:KeyValueStoreSets the value associated to the key, and a TTL.- Parameters:
key- the keyvalue- the value, which may benullttl- the TTL, in seconds (0 for infinite)
-
get
Description copied from interface:KeyValueStoreRetrieves the value associated to the key.- Parameters:
key- the key- Returns:
- the value, or
nullif there is no value
-
setTTL
Description copied from interface:KeyValueStoreSets the TTL for an existing key.- Parameters:
key- the keyttl- the TTL, in seconds (0 for infinite)- Returns:
trueif the TTL has been set, orfalseif the key does not exist
-
doSetTTL
-
compareAndSet
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 keyexpected- the expected value, which may benullvalue- the updated value, which may benullttl- the TTL, in seconds (0 for infinite)- Returns:
trueif the value was updated, orfalseif not (the expected value was not found)
-