basedb

package
v0.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 21, 2022 License: GPL-3.0 Imports: 2 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type IDb

type IDb interface {
	Set(prefix []byte, key []byte, value []byte) error
	SetMany(prefix []byte, n int, next func(int) (Obj, error)) error
	Get(prefix []byte, key []byte) (Obj, bool, error)
	GetMany(prefix []byte, keys [][]byte, iterator func(Obj) error) error
	Delete(prefix []byte, key []byte) error
	DeleteByPrefix(prefix []byte) (int, error)
	GetAll(prefix []byte, handler func(int, Obj) error) error
	CountByCollection(prefix []byte) (int64, error)
	RemoveAllByCollection(prefix []byte) error
	Update(fn func(Txn) error) error
	Close()
}

IDb interface for all db kind

type Obj

type Obj struct {
	Key   []byte
	Value []byte
}

Obj struct for getting key/value from storage

type Options

type Options struct {
	Type      string `yaml:"Type" env:"DB_TYPE" env-default:"badger-db" env-description:"Type of db badger-db or badger-memory"`
	Path      string `yaml:"Path" env:"DB_PATH" env-default:"./data/db" env-description:"Path for storage"`
	Reporting bool   `yaml:"Reporting" env:"DB_REPORTING" env-default:"false" env-description:"Flag to run on-off db size reporting"`
	Logger    *zap.Logger
	Ctx       context.Context
}

Options for creating all db type

type Txn added in v0.1.11

type Txn interface {
	Set(prefix []byte, key []byte, value []byte) error
	Get(prefix []byte, key []byte) (Obj, bool, error)
	Delete(prefix []byte, key []byte) error
}

Txn interface for badger transaction like functions

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL