kvdb

package
v0.0.0-...-59da782 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2020 License: GPL-3.0, GPL-2.0, GPL-3.0 Imports: 11 Imported by: 0

README

TODO: syndtr/goleveldb should be replaced with actual LevelDB instance

Documentation

Index

Constants

View Source
const DBBackendLevelDB = "leveldb"
View Source
const DBBackendMemDB = "memdb"

Database types

View Source
const DBBackendRocksDB = "rocksdb"

Variables

This section is empty.

Functions

This section is empty.

Types

type DB

type DB interface {
	Get([]byte) []byte
	Set([]byte, []byte)
	SetSync([]byte, []byte)
	Delete([]byte)
	DeleteSync([]byte)
	Close()
	Query(key string, beg, end, bitSize int64) IQuery
	GetIter(key string, bitSize int64) IQuery
	NewBatch(sync bool) IBatch
	// For debugging
	Print()
}

func NewDB

func NewDB(name string, backend string, dir string) DB

func NewLevelDB

func NewLevelDB(name string) (DB, error)

func NewMemDB

func NewMemDB(path string) (DB, error)

type IBatch

type IBatch interface {
	Put(key, value []byte) error
	Delete(key []byte) error
	Commit() error
}

type IQuery

type IQuery interface {
	Seek(i int64) IQuery
	FetchAll(limit int64, asc bool) (keys [][]byte, vals [][]byte, err error)
	Key() []byte
	Close()
	Error() error
	Value() []byte
	Prev() bool
	Next() bool
}

type LevelDB

type LevelDB struct {
	// contains filtered or unexported fields
}

func (*LevelDB) Close

func (db *LevelDB) Close()

func (*LevelDB) DB

func (db *LevelDB) DB() *leveldb.DB

func (*LevelDB) Delete

func (db *LevelDB) Delete(key []byte)

func (*LevelDB) DeleteSync

func (db *LevelDB) DeleteSync(key []byte)

func (*LevelDB) Get

func (db *LevelDB) Get(key []byte) []byte

func (*LevelDB) GetIter

func (db *LevelDB) GetIter(key string, bitSize int64) IQuery

func (*LevelDB) NewBatch

func (d *LevelDB) NewBatch(sync bool) IBatch

因为是金融系统,这个选项还是有必要,避免发生丢数据的情况 而我们设计整个系统尽量采用批量提交,所以性能应该还是可以的

func (*LevelDB) Print

func (db *LevelDB) Print()

func (*LevelDB) Query

func (db *LevelDB) Query(key string, beg, end, bitSize int64) IQuery

func (*LevelDB) Set

func (db *LevelDB) Set(key []byte, value []byte)

func (*LevelDB) SetSync

func (db *LevelDB) SetSync(key []byte, value []byte)

type MemDB

type MemDB struct {
	// contains filtered or unexported fields
}

func (*MemDB) Close

func (db *MemDB) Close()

func (*MemDB) Delete

func (db *MemDB) Delete(key []byte)

func (*MemDB) DeleteSync

func (db *MemDB) DeleteSync(key []byte)

func (*MemDB) Get

func (db *MemDB) Get(key []byte) []byte

func (*MemDB) GetIter

func (db *MemDB) GetIter(key string, bitSize int64) IQuery

func (*MemDB) NewBatch

func (db *MemDB) NewBatch(sync bool) IBatch

func (*MemDB) Print

func (db *MemDB) Print()

func (*MemDB) Query

func (db *MemDB) Query(key string, beg, end, bitSize int64) IQuery

func (*MemDB) Set

func (db *MemDB) Set(key []byte, value []byte)

func (*MemDB) SetSync

func (db *MemDB) SetSync(key []byte, value []byte)

Jump to

Keyboard shortcuts

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