ethdb

package
v0.0.0-...-92cc422 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2019 License: GPL-3.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const IdealBatchSize = 100 * 1024

使用批处理的代码应该尝试向批处理中添加这么多的数据。 该值是根据经验确定的。

Variables

View Source
var OpenFileLimit = 64

Functions

This section is empty.

Types

type Batch

type Batch interface {
	Putter
	Deleter
	ValueSize() int //批中的数据量
	Write() error
	//重置将批重置为可重用
	Reset()
}

批处理是一个只写的数据库,它将更改提交到其主机数据库。 当调用写入时。批处理不能同时使用。

func NewTableBatch

func NewTableBatch(db Database, prefix string) Batch

NewTableBatch返回一个批处理对象,该对象在所有键前面加上一个给定的字符串。

type Database

type Database interface {
	Putter
	Deleter
	Get(key []byte) ([]byte, error)
	Has(key []byte) (bool, error)
	Close()
	NewBatch() Batch
}

数据库包装所有数据库操作。所有方法对于并发使用都是安全的。

func NewTable

func NewTable(db Database, prefix string) Database

NewTable返回一个数据库对象,该对象在所有键前面加上给定的 字符串。

type Deleter

type Deleter interface {
	Delete(key []byte) error
}

删除程序包装批处理数据库和常规数据库都支持的数据库删除操作。

type LDBDatabase

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

func NewLDBDatabase

func NewLDBDatabase(file string, cache int, handles int) (*LDBDatabase, error)

NewLdbDatabase返回一个LevelDB包装的对象。

func (*LDBDatabase) Close

func (db *LDBDatabase) Close()

func (*LDBDatabase) Delete

func (db *LDBDatabase) Delete(key []byte) error

删除从队列和数据库中删除键

func (*LDBDatabase) Get

func (db *LDBDatabase) Get(key []byte) ([]byte, error)

get返回给定的键(如果存在)。

func (*LDBDatabase) Has

func (db *LDBDatabase) Has(key []byte) (bool, error)

func (*LDBDatabase) LDB

func (db *LDBDatabase) LDB() *leveldb.DB

func (*LDBDatabase) Meter

func (db *LDBDatabase) Meter(prefix string)

Meter配置数据库度量收集器和

func (*LDBDatabase) NewBatch

func (db *LDBDatabase) NewBatch() Batch

func (*LDBDatabase) NewIterator

func (db *LDBDatabase) NewIterator() iterator.Iterator

func (*LDBDatabase) NewIteratorWithPrefix

func (db *LDBDatabase) NewIteratorWithPrefix(prefix []byte) iterator.Iterator

NewIteratorWithPrefix返回一个迭代器,用于使用特定前缀对数据库内容的子集进行迭代。

func (*LDBDatabase) Path

func (db *LDBDatabase) Path() string

path返回数据库目录的路径。

func (*LDBDatabase) Put

func (db *LDBDatabase) Put(key []byte, value []byte) error

Put将给定的键/值放入队列

type MemDatabase

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

func NewMemDatabase

func NewMemDatabase() *MemDatabase

func NewMemDatabaseWithCap

func NewMemDatabaseWithCap(size int) *MemDatabase

func (*MemDatabase) Close

func (db *MemDatabase) Close()

func (*MemDatabase) Delete

func (db *MemDatabase) Delete(key []byte) error

func (*MemDatabase) Get

func (db *MemDatabase) Get(key []byte) ([]byte, error)

func (*MemDatabase) Has

func (db *MemDatabase) Has(key []byte) (bool, error)

func (*MemDatabase) Keys

func (db *MemDatabase) Keys() [][]byte

func (*MemDatabase) Len

func (db *MemDatabase) Len() int

func (*MemDatabase) NewBatch

func (db *MemDatabase) NewBatch() Batch

func (*MemDatabase) Put

func (db *MemDatabase) Put(key []byte, value []byte) error

type Putter

type Putter interface {
	Put(key []byte, value []byte) error
}

推杆包装批处理和常规数据库都支持的数据库写入操作。

Jump to

Keyboard shortcuts

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