Simple in-memory transactional key-value store.
- Supports
get
,set
,delete
,count
,begin
,rollback
,commit
operations. - Supports nested transactions.
- Commit/rollback operations apply changes from the last transaction.
- Parallel/concurrent transactions are not supported.
- Not thread-safe!
Has 2 implementations:
- TkvsSingleMap.kt
Implementation with single map, change logs, and value counters cache for O(1) computational complexity of count operation. - TkvsStackOfMaps.kt
Implementation based on stack of maps.
Unit tests: TransactionalKeyValueStoreTestBase.kt
A built jar is available in bin/tkvs.jar.
Run it with java -jar bin/tkvs.jar
for an interactive console (uses "single map" implementation).
In the console, type h
or help
to see available commands.