storage

package
v0.0.0-...-6923683 Latest Latest
Warning

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

Go to latest
Published: May 9, 2020 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SKIPLISTMAXLEVEL = 32
	SKIPLISTP        = 0.25
)
View Source
const (
	MetaVersion byte = 0x00
	MetaPrefix  byte = '+'
	ValuePrefix byte = '-'
	Seperator   byte = '|'
)
View Source
const STRBYTE byte = 0x00

Variables

View Source
var (
	SKIPATTR = []byte{0x00, 0x00, 0x00, 0x00}
	SKIPHEAD = []byte{0x00, 0x00, 0x00, 0x01}
)
View Source
var ErrLevelDB = errors.New("Backend Level DB Error")
View Source
var (
	ErrMetaFormat = errors.New("Meta data format is wrong")
)
View Source
var ErrNotFound = leveldb.ErrNotFound
View Source
var (
	ExpireKey []byte = []byte("SYSExpire")
)

Functions

func Close

func Close()

func Open

func Open(dbPath string, options *opt.Options) error

Types

type Field

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

type LevelDB

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

func Select

func Select(i int) *LevelDB

func (*LevelDB) AddSkipField

func (ldb *LevelDB) AddSkipField(key []byte, tipe byte, field []byte, score float64)

AddSkipField

func (*LevelDB) ClearExpireAt

func (ldb *LevelDB) ClearExpireAt(key []byte)

ClearExpireAt clears expire

func (*LevelDB) DeleteFields

func (ldb *LevelDB) DeleteFields(key []byte, fields [][]byte)

DeleteHashFields deletes hash fields

func (*LevelDB) DeleteHash

func (ldb *LevelDB) DeleteHash(key []byte)

DeleteHash deletes all hash data

func (*LevelDB) DeleteList

func (ldb *LevelDB) DeleteList(key []byte)

DeleteList

func (*LevelDB) DeleteSkip

func (ldb *LevelDB) DeleteSkip(key []byte)

DeleteSkip

func (*LevelDB) DeleteSkipField

func (ldb *LevelDB) DeleteSkipField(key []byte, field []byte) int

DeleteSkipField

func (*LevelDB) DeleteString

func (ldb *LevelDB) DeleteString(key []byte)

DeleteString deletes string data

func (*LevelDB) Flush

func (ldb *LevelDB) Flush() error

Flush is to flush leveldb

func (*LevelDB) GetExpireAt

func (ldb *LevelDB) GetExpireAt(key []byte) *time.Time

GetExpireAt returns expire as time.Time

func (*LevelDB) GetFieldNames

func (ldb *LevelDB) GetFieldNames(key []byte) [][]byte

GetFieldNames gets hash field names

func (*LevelDB) GetFields

func (ldb *LevelDB) GetFields(key []byte, fields [][]byte) map[string][]byte

GetFields get hash fields

func (*LevelDB) GetFieldsAsArray

func (ldb *LevelDB) GetFieldsAsArray(key []byte, fields [][]byte) []Field

GetHashFieldNamesAsArray gets hash fields as array

func (*LevelDB) GetHash

func (ldb *LevelDB) GetHash(key []byte) map[string][]byte

GetHash gets hash data

func (*LevelDB) GetHashAsArray

func (ldb *LevelDB) GetHashAsArray(key []byte) []Field

GetHashAsArray gets hash data as array to ensure the insertion sort

func (*LevelDB) GetLindexFromHead

func (ldb *LevelDB) GetLindexFromHead(key []byte, l uint32) []byte

GetLindexFromHead

func (*LevelDB) GetLindexFromTail

func (ldb *LevelDB) GetLindexFromTail(key []byte, l uint32) []byte

GetLindexFromTail

func (*LevelDB) GetListLength

func (ldb *LevelDB) GetListLength(key []byte) uint32

PopListHead

func (*LevelDB) GetListRange

func (ldb *LevelDB) GetListRange(key []byte, start int, end int) [][]byte

GetListRange

func (*LevelDB) GetSkipFieldRank

func (ldb *LevelDB) GetSkipFieldRank(key []byte, field []byte) (int, error)

GetSkipFieldRank

func (*LevelDB) GetSkipLength

func (ldb *LevelDB) GetSkipLength(key []byte) uint32

GetSkipLength

func (*LevelDB) GetSkipRange

func (ldb *LevelDB) GetSkipRange(key []byte, start int, end int) []SkipListElement

GetSkipRange

func (*LevelDB) GetSkipRangeByScore

func (ldb *LevelDB) GetSkipRangeByScore(key []byte, min float64, minex bool, max float64, maxex bool) []SkipListElement

GetSkipRangeByScore

func (*LevelDB) GetString

func (ldb *LevelDB) GetString(key []byte) []byte

GetString retrieves string data

func (*LevelDB) Has

func (ldb *LevelDB) Has(key []byte) (bool, byte)

Has is to determine if a key exists

func (*LevelDB) InsertList

func (ldb *LevelDB) InsertList(key []byte, d string, pivot []byte, value []byte) int

InsertList

func (*LevelDB) Lock

func (ldb *LevelDB) Lock()

func (*LevelDB) PopListHead

func (ldb *LevelDB) PopListHead(key []byte) []byte

PopListHead

func (*LevelDB) PopListTail

func (ldb *LevelDB) PopListTail(key []byte) []byte

PopListTail

func (*LevelDB) PushListHead

func (ldb *LevelDB) PushListHead(key []byte, tipe byte, v []byte) uint32

PushListHead

func (*LevelDB) PushListTail

func (ldb *LevelDB) PushListTail(key []byte, tipe byte, v []byte) uint32

PushListTail

func (*LevelDB) PutHash

func (ldb *LevelDB) PutHash(key []byte, tipe byte, hash map[string][]byte)

PutHash write hash data

func (*LevelDB) PutString

func (ldb *LevelDB) PutString(key []byte, value []byte)

PutString writes string data to leveldb

func (*LevelDB) RLock

func (ldb *LevelDB) RLock()

Lock/Unlock functions

func (*LevelDB) RUnlock

func (ldb *LevelDB) RUnlock()

func (*LevelDB) RemList

func (ldb *LevelDB) RemList(key []byte, count int, value []byte) int

RemList

func (*LevelDB) SetExpireAt

func (ldb *LevelDB) SetExpireAt(key []byte, at *time.Time)

SetExpireAt stores the value to expire

func (*LevelDB) SetListElement

func (ldb *LevelDB) SetListElement(key []byte, index int, v []byte) error

SetListElement with index

func (*LevelDB) TrimList

func (ldb *LevelDB) TrimList(key []byte, start int, end int)

TrimList

func (*LevelDB) Unlock

func (ldb *LevelDB) Unlock()

type RodisData

type RodisData interface {
	GetWriteBatch() *leveldb.Batch
}

type SkipListElement

type SkipListElement struct {
	Field []byte
	Score float64
}

Jump to

Keyboard shortcuts

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