12345678910111213141516171819202122232425262728 |
- /*
- Package badger implements an embeddable, simple and fast key-value database,
- written in pure Go. It is designed to be highly performant for both reads and
- writes simultaneously. Badger uses Multi-Version Concurrency Control (MVCC), and
- supports transactions. It runs transactions concurrently, with serializable
- snapshot isolation guarantees.
- Badger uses an LSM tree along with a value log to separate keys from values,
- hence reducing both write amplification and the size of the LSM tree. This
- allows LSM tree to be served entirely from RAM, while the values are served
- from SSD.
- Usage
- Badger has the following main types: DB, Txn, Item and Iterator. DB contains
- keys that are associated with values. It must be opened with the appropriate
- options before it can be accessed.
- All operations happen inside a Txn. Txn represents a transaction, which can
- be read-only or read-write. Read-only transactions can read values for a
- given key (which are returned inside an Item), or iterate over a set of
- key-value pairs using an Iterator (which are returned as Item type values as
- well). Read-write transactions can also update and delete keys from the DB.
- See the examples for more usage details.
- */
- package badger
|