Documentation ¶
Overview ¶
Package memorydb implements the key-value database layer based on memory maps.
Index ¶
- func NewProducer(namespace string, mods ...Mod) kvdb.IterableDBProducer
- type Database
- func (db *Database) Close() error
- func (db *Database) Compact(start []byte, limit []byte) error
- func (db *Database) Delete(key []byte) error
- func (db *Database) Drop()
- func (db *Database) Get(key []byte) ([]byte, error)
- func (db *Database) Has(key []byte) (bool, error)
- func (db *Database) Len() int
- func (db *Database) NewBatch() kvdb.Batch
- func (db *Database) NewIterator(prefix []byte, start []byte) kvdb.Iterator
- func (db *Database) Put(key []byte, value []byte) error
- func (db *Database) SetDelay(d time.Duration)
- func (db *Database) Stat(property string) (string, error)
- type Mod
- type Producer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewProducer ¶
func NewProducer(namespace string, mods ...Mod) kvdb.IterableDBProducer
NewProducer of memory db.
Types ¶
type Database ¶
type Database struct {
// contains filtered or unexported fields
}
Database is an ephemeral key-value store. Apart from basic data storage functionality it also supports batch writes and iterating over the keyspace in binary-alphabetical order.
func New ¶
func New() *Database
New returns a wrapped map with all the required database interface methods implemented.
func NewWithCap ¶
NewWithCap returns a wrapped map pre-allocated to the provided capcity with all the required database interface methods implemented.
func NewWithDrop ¶
func NewWithDrop(drop func()) *Database
New returns a wrapped map with all the required database interface methods implemented and drop callback.
func (*Database) Close ¶
Close deallocates the internal map and ensures any consecutive data access op failes with an error.
func (*Database) Len ¶
Len returns the number of entries currently present in the memory database.
Note, this method is only used for testing (i.e. not public in general) and does not have explicit checks for closed-ness to allow simpler testing code.
func (*Database) NewBatch ¶
NewBatch creates a write-only key-value store that buffers changes to its host database until a final write is called.
func (*Database) NewIterator ¶
NewIterator creates a binary-alphabetical iterator over a subset of database content with a particular key prefix, starting at a particular initial key (or after, if it does not exist).
type Mod ¶
type Mod func(kvdb.DropableStore) kvdb.DropableStore