Versions in this module Expand all Collapse all v1 v1.0.0 Feb 10, 2023 Changes in this version + var ErrDBClosed = errors.New("KhighDB is already closed") + var ErrDiscardNoSpace = errors.New("not enough space can be allocated for the discard file") + var ErrIndexOutOfRange = errors.New("index is out of range") + var ErrIntegerOverflow = errors.New("increment or decrement overflow") + var ErrInvalidNumberOfArgs = errors.New("invalid number of arguments") + var ErrInvalidValueType = errors.New("value is not an integer") + var ErrKeyNotFound = errors.New("key not found") + var ErrLogFileGCRunning = errors.New("log file gc is running, retry later") + var ErrLogFileNotFound = errors.New("log file not found") + type DataIndexMode int8 + const KeyOnlyMemMode + const KeyValueMemMode + func (mode DataIndexMode) String() string + type DataType = int8 + const Hash + const List + const Set + const String + const ZSet + type IOType int8 + const FileIO + const MMap + func (t IOType) String() string + type KhighDB struct + func Open(options Options) (*KhighDB, error) + func (db *KhighDB) Append(key, value []byte) error + func (db *KhighDB) BackUp(path string) error + func (db *KhighDB) Close() error + func (db *KhighDB) Count() int + func (db *KhighDB) Decr(key []byte) (int64, error) + func (db *KhighDB) DecrBy(key []byte, delta int64) (int64, error) + func (db *KhighDB) Delete(key []byte) error + func (db *KhighDB) Expire(key []byte, duration time.Duration) error + func (db *KhighDB) Get(key []byte) ([]byte, error) + func (db *KhighDB) GetDel(key []byte) ([]byte, error) + func (db *KhighDB) GetRange(key []byte, start, end int) ([]byte, error) + func (db *KhighDB) GetStrKeys() ([][]byte, error) + func (db *KhighDB) HDel(key []byte, fields ...[]byte) (int, error) + func (db *KhighDB) HExists(key, field []byte) (bool, error) + func (db *KhighDB) HGet(key, field []byte) ([]byte, error) + func (db *KhighDB) HGetAll(key []byte) ([][]byte, error) + func (db *KhighDB) HIncrBy(key, field []byte, delta int64) (int64, error) + func (db *KhighDB) HKeys(key []byte) ([][]byte, error) + func (db *KhighDB) HLen(key []byte) int + func (db *KhighDB) HMGet(key []byte, fields ...[]byte) (vals [][]byte, err error) + func (db *KhighDB) HRandField(key []byte, count int, withValues bool) ([][]byte, error) + func (db *KhighDB) HScan(key []byte, prefix []byte, pattern string, count int) ([][]byte, error) + func (db *KhighDB) HSet(key []byte, args ...[]byte) error + func (db *KhighDB) HSetNX(key, field, value []byte) (bool, error) + func (db *KhighDB) HStrLen(key, field []byte) int + func (db *KhighDB) HVals(key []byte) ([][]byte, error) + func (db *KhighDB) Incr(key []byte) (int64, error) + func (db *KhighDB) IncrBy(key []byte, delta int64) (int64, error) + func (db *KhighDB) LIndex(key []byte, index int) ([]byte, error) + func (db *KhighDB) LLen(key []byte) int + func (db *KhighDB) LMove(srcKey, dstKey []byte, srcIfLeft, dstIsLeft bool) ([]byte, error) + func (db *KhighDB) LPop(key []byte) ([]byte, error) + func (db *KhighDB) LPush(key []byte, values ...[]byte) error + func (db *KhighDB) LPushX(key []byte, values ...[]byte) error + func (db *KhighDB) LRange(key []byte, start, end int) (values [][]byte, err error) + func (db *KhighDB) LRem(key []byte, count int, value []byte) (int, error) + func (db *KhighDB) LSet(key []byte, index int, value []byte) error + func (db *KhighDB) MGet(keys [][]byte) ([][]byte, error) + func (db *KhighDB) MSet(args ...[]byte) error + func (db *KhighDB) MSetNX(args ...[]byte) error + func (db *KhighDB) Persist(key []byte) error + func (db *KhighDB) RPop(key []byte) ([]byte, error) + func (db *KhighDB) RPush(key []byte, values ...[]byte) error + func (db *KhighDB) RPushX(key []byte, values ...[]byte) error + func (db *KhighDB) RunLogFileGC(dataType DataType, fid int, gcRatio float64) error + func (db *KhighDB) SAdd(key []byte, members ...[]byte) error + func (db *KhighDB) SCard(key []byte) int + func (db *KhighDB) SDiff(keys ...[]byte) ([][]byte, error) + func (db *KhighDB) SDiffStore(keys ...[]byte) (int, error) + func (db *KhighDB) SInter(keys ...[]byte) ([][]byte, error) + func (db *KhighDB) SInterStore(keys ...[]byte) (int, error) + func (db *KhighDB) SIsMember(key, member []byte) bool + func (db *KhighDB) SMembers(key []byte) ([][]byte, error) + func (db *KhighDB) SPop(key []byte, count uint) ([][]byte, error) + func (db *KhighDB) SRem(key []byte, member ...[]byte) error + func (db *KhighDB) SUnion(keys ...[]byte) ([][]byte, error) + func (db *KhighDB) SUnionStore(keys ...[]byte) (int, error) + func (db *KhighDB) Scan(prefix []byte, pattern string, count int) ([][]byte, error) + func (db *KhighDB) Set(key, value []byte) error + func (db *KhighDB) SetEX(key, value []byte, duration time.Duration) error + func (db *KhighDB) SetNX(key, value []byte) error + func (db *KhighDB) StrLen(key []byte) int + func (db *KhighDB) Sync() error + func (db *KhighDB) TTL(key []byte) (int64, error) + func (db *KhighDB) ZAdd(key []byte, score float64, member []byte) error + func (db *KhighDB) ZCard(key []byte) int + func (db *KhighDB) ZRange(key []byte, start, stop int) ([][]byte, error) + func (db *KhighDB) ZRank(key []byte, member []byte) (ok bool, rank int) + func (db *KhighDB) ZRem(key, member []byte) error + func (db *KhighDB) ZRevRange(key []byte, start, stop int) ([][]byte, error) + func (db *KhighDB) ZRevRank(key []byte, member []byte) (ok bool, rank int) + func (db *KhighDB) ZScore(key, member []byte) (ok bool, score float64) + type Options struct + DBPath string + DiscardBufferSize int + IndexMode DataIndexMode + IoType IOType + LogFileGCInternal time.Duration + LogFileGCRatio float64 + LogFileSizeThreshold int64 + LogLevel string + Sync bool + func DefaultOptions(path string) Options + func (o Options) String() string