Documentation
¶
Overview ¶
Package memorydb implements an in-memory key-value database.
Index ¶
- 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) Get(key []byte) ([]byte, error)
- func (db *Database) Has(key []byte) (bool, error)
- func (db *Database) Len() int
- func (db *Database) NewBatch() ethdb.Batch
- func (db *Database) NewBatchWithSize(size int) ethdb.Batch
- func (db *Database) NewIterator(prefix []byte, start []byte) ethdb.Iterator
- func (db *Database) Put(key []byte, value []byte) error
- func (db *Database) Stat(property string) (string, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Database ¶ added in v0.8.0
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 capacity with all the required database interface methods implemented.
func (*Database) Close ¶ added in v0.8.0
Close deallocates the internal map and ensures any consecutive data access op fails with an error.
func (*Database) Compact ¶ added in v0.8.0
Compact is not supported on a memory database, but there's no need either as a memory database doesn't waste space anyway.
func (*Database) Get ¶ added in v0.8.0
Get retrieves the given key if it's present in the key-value store.
func (*Database) Len ¶ added in v0.8.0
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 avoid stats collection in production code.
func (*Database) NewBatch ¶ added in v0.8.0
NewBatch creates a write-only key-value store that buffers changes to its host database until a final write is called.
func (*Database) NewBatchWithSize ¶ added in v0.8.0
NewBatchWithSize creates a write-only database batch with pre-allocated buffer.
func (*Database) NewIterator ¶ added in v0.8.0
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).