A python-rocksdb
wrapper for a more comfortable interaction with RocksDB.
Keys must be of type
bytes
. Values can be nested structures or complex objects. Value serialization is automatically performed with MessagePack if possible, otherwise with Pickle.
from easyrocks import RocksDB
db = RocksDB(path='./rocksdb', read_only=False)
key = b'key1'
db.put(key, 'one')
db.get(key)
db.exists(key)
for key, value in db.scan(prefix=None, start_key=None, stop_key=None, reversed_scan=False):
print(key, value)
There are some useful functions to transform a key to and from bytes
:
from easyrocks.utils import (
str_to_bytes
bytes_to_str
int_to_bytes
bytes_to_int
str_to_padded_bytes
int_to_padded_bytes
)