gkvdb: github.com/johng-cn/gkvdb/gkvdb Index | Files | Directories

package gkvdb

import "github.com/johng-cn/gkvdb/gkvdb"

基于DRH(Deep-Re-Hash)算法的高性能Key-Value嵌入式数据库.

Index

Package Files

gkvdb.go gkvdb_api.go gkvdb_auto.go gkvdb_binlog.go gkvdb_disktable.go gkvdb_filespace.go gkvdb_memtable.go gkvdb_transaction.go

type BinLog Uses

type BinLog struct {
    sync.RWMutex // binlog文件互斥锁
    // contains filtered or unexported fields
}

binlog操作对象

type BinLogItem Uses

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

binlog写入项

type DB Uses

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

KV数据库

func New Uses

func New(path string) (*DB, error)

创建一个KV数据库,path指定数据库文件的存放目录绝对路径

func (*DB) Begin Uses

func (db *DB) Begin(table ...string) *Transaction

创建一个事务

func (*DB) Close Uses

func (db *DB) Close()

关闭数据库链接,释放资源

func (*DB) Get Uses

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

查询数据(默认表)

func (*DB) GetFrom Uses

func (db *DB) GetFrom(key []byte, name string) []byte

查询数据(数据表)

func (*DB) Items Uses

func (db *DB) Items(max int) map[string][]byte

获取max条随机键值对,max=-1时获取所有数据返回 该方法会强制性遍历整个数据库

func (*DB) Keys Uses

func (db *DB) Keys(max int) []string

获取最多max个随机键名,构成列表返回

func (*DB) Remove Uses

func (db *DB) Remove(key []byte) error

删除数据(默认表)

func (*DB) RemoveFrom Uses

func (db *DB) RemoveFrom(key []byte, name string) error

删除数据(数据表)

func (*DB) Set Uses

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

保存数据(默认表)

func (*DB) SetTo Uses

func (db *DB) SetTo(key []byte, value []byte, name string) error

保存数据(数据表)

func (*DB) Table Uses

func (db *DB) Table(name string) (*Table, error)

获取数据表对象,如果表名已存在,那么返回已存在的表对象

func (*DB) Values Uses

func (db *DB) Values(max int) [][]byte

获取最多max个随机键值,构成列表返回

type MemTable Uses

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

内存表,保存临时的binlog数据

type Table Uses

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

数据表

func (*Table) Close Uses

func (table *Table) Close()

关闭数据库链接,释放资源

func (*Table) Get Uses

func (table *Table) Get(key []byte) []byte

查询数据(数据表)

func (*Table) Items Uses

func (table *Table) Items(max int) map[string][]byte

随机遍历数据表

func (*Table) Keys Uses

func (table *Table) Keys(max int) []string

获取最多max个随机键名,构成列表返回

func (*Table) PrintAllFileSpaces Uses

func (table *Table) PrintAllFileSpaces()

For Test Only

func (*Table) Remove Uses

func (table *Table) Remove(key []byte) error

删除数据(数据表)

func (*Table) Set Uses

func (table *Table) Set(key []byte, value []byte) error

保存数据(数据表)

func (*Table) Values Uses

func (table *Table) Values(max int) [][]byte

获取最多max个随机键值,构成列表返回

type Transaction Uses

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

事务操作对象

func (*Transaction) Commit Uses

func (tx *Transaction) Commit(sync ...bool) error

提交数据

func (*Transaction) Get Uses

func (tx *Transaction) Get(key []byte) []byte

查询数据

func (*Transaction) GetFrom Uses

func (tx *Transaction) GetFrom(key []byte, name string) []byte

查询数据(针对数据表)

func (*Transaction) Remove Uses

func (tx *Transaction) Remove(key []byte) error

删除数据

func (*Transaction) RemoveFrom Uses

func (tx *Transaction) RemoveFrom(key []byte, name string) error

删除数据(针对数据表)

func (*Transaction) Rollback Uses

func (tx *Transaction) Rollback()

回滚数据

func (*Transaction) Set Uses

func (tx *Transaction) Set(key, value []byte) error

添加数据

func (*Transaction) SetTo Uses

func (tx *Transaction) SetTo(key, value []byte, name string) error

添加数据(针对数据表)

Directories

PathSynopsis
gbtreeB-Tree
gfilespace文件空间管理

Package gkvdb imports 20 packages (graph). Updated 2019-03-13. Refresh now. Tools for package owners.