- class tensorstore.KvStore
Key-value store that maps an ordered set of byte string keys to byte string values.
This is used as the storage interface for most of the TensorStore drivers.
The actual storage mechanism is determined by the driver.
Example
>>> store = await ts.KvStore.open({'driver': 'memory'}) >>> await store.write(b'a', b'value') KvStore.TimestampedStorageGeneration(...) >>> await store.read(b'a') KvStore.ReadResult(state='value', value=b'value', stamp=KvStore.TimestampedStorageGeneration(...)) >>> await store.read(b'b') KvStore.ReadResult(state='missing', value=b'', stamp=KvStore.TimestampedStorageGeneration(...)) >>> await store.list() [b'a']
By default, operations are non-transactional, but transactional operations are also supported:
>>> txn = ts.Transaction() >>> store.with_transaction(txn)[b'a'] b'value' >>> store.with_transaction(txn)[b'a'] = b'new value' >>> store.with_transaction(txn)[b'a'] b'new value' >>> store[b'a'] b'value' >>> txn.commit_sync() >>> store[b'a'] b'new value'
Classes¶
- class Spec
Parsed representation of a
JSON key-value store
specification.
- class KeyRange
Half-open interval of byte string keys, according to lexicographical order.
- class TimestampedStorageGeneration
Specifies a storage generation identifier and a timestamp.
- class ReadResult
Specifies the result of a read operation.
Constructors¶
Accessors¶
- url : str
URL representation
of the key-value store specification.
-
spec(*, retain_context: bool | None =
None
, ...) KvStore.Spec Spec that may be used to re-open or re-create the key-value store.
I/O¶
- read(key: str, *, ...) Future[KvStore.ReadResult]
Reads the value of a single key.
- write(key: str, ...) Future[KvStore.TimestampedStorageGeneration]
Writes or deletes a single key.
- delete_range(range: KvStore.KeyRange) Future[None]
Deletes a key range.
- experimental_copy_range_to(target: KvStore, ...) Future[None]
Copies a range of keys.
Synchronous I/O¶
- __getitem__(key: str) bytes
Synchronously reads the value of a single key.
- __delitem__(key: str) None
Synchronously deletes a single key.
Operators¶
- __truediv__(component: str) KvStore
Returns a key-value store with an additional path component joined to the path.
Transactions¶
- transaction : Transaction | None
Transaction bound to this key-value store.
- with_transaction(transaction: Transaction | None) KvStore
Returns a transaction-bound view of this key-value store.
String representation¶
- __repr__() str
Returns a string representation based on the
JSON representation
.