18 lines
991 B
Go
18 lines
991 B
Go
// package kv
|
|
//
|
|
// The KV package is a set of services and abstractions built around key value storage.
|
|
// There exist in-memory and persisted implementations of the core `Store` family of
|
|
// interfaces outside of this package (see `inmem` and `bolt` packages).
|
|
//
|
|
// The `Store` interface exposes transactional access to a backing kv persistence layer.
|
|
// It allows for read-only (View) and read-write (Update) transactions to be opened.
|
|
// These methods take a function which is passed an implementation of the transaction interface (Tx).
|
|
// This interface exposes a way to manipulate namespaced keys and values (Buckets).
|
|
//
|
|
// All keys and values are namespaced (grouped) using buckets. Buckets can only be created on
|
|
// implementations of the `SchemaStore` interface. This is a superset of the `Store` interface,
|
|
// which has the additional bucket creation and deletion methods.
|
|
//
|
|
// Bucket creation and deletion should be facilitated via a migration (see `kv/migration`).
|
|
package kv
|