Documentation ¶
Index ¶
- Constants
- Variables
- func LeveldbBuildKey(key []byte) ([]byte, error)
- func LeveldbParseKey(key []byte) (uint16, []byte, error)
- type DBItem
- type KVPair
- type LevelDB
- func (this *LevelDB) Close()
- func (this *LevelDB) Commit() error
- func (this *LevelDB) Discard()
- func (this *LevelDB) Find(key LeveldbKey) (*DBItem, error)
- func (this *LevelDB) FindList(dbkey LeveldbKey) ([]DBItem, error)
- func (this *LevelDB) FindMap(dbkey, key LeveldbKey) ([]byte, error)
- func (this *LevelDB) FindMapAllToList(dbkey LeveldbKey) ([]DBItem, error)
- func (this *LevelDB) FindMapByKeys(dbkey LeveldbKey, keys ...LeveldbKey) ([]DBItem, error)
- func (this *LevelDB) FindMapInListAllKeyToList(dbkey LeveldbKey) ([]DBItem, error)
- func (this *LevelDB) FindMapInListByIndex(dbkey, key LeveldbKey, index uint64) ([]byte, error)
- func (this *LevelDB) FindMapInListCount(dbkey, key LeveldbKey) (uint64, error)
- func (this *LevelDB) FindMapInListKeyList(dbkey, key LeveldbKey) ([]DBItem, error)
- func (this *LevelDB) FindMapInMapByKeyIn(dbkey, keyOut, keyIn LeveldbKey) ([]byte, error)
- func (this *LevelDB) FindMapInMapByKeyOut(dbkey, keyOut LeveldbKey) ([]DBItem, error)
- func (this *LevelDB) FindMore(keys ...LeveldbKey) ([]DBItem, error)
- func (this *LevelDB) GetDB() *leveldb.DB
- func (this *LevelDB) GetPath() string
- func (this *LevelDB) Has(key LeveldbKey) (bool, error)
- func (this *LevelDB) InitDB() (err error)
- func (this *LevelDB) OpenTransaction() error
- func (this *LevelDB) PrintAll() ([][]byte, error)
- func (this *LevelDB) Remove(key LeveldbKey) error
- func (this *LevelDB) RemoveMapByDbKey(dbkey LeveldbKey, num uint64, interval time.Duration) error
- func (this *LevelDB) RemoveMapByKey(dbkey, key LeveldbKey) error
- func (this *LevelDB) RemoveMapByKey_Transaction(dbkey, key LeveldbKey) error
- func (this *LevelDB) RemoveMapInListByIndex(dbkey, key LeveldbKey, index uint64) error
- func (this *LevelDB) RemoveMapInListByKey(dbkey, key LeveldbKey) error
- func (this *LevelDB) RemoveMapInListByKeyInterval(dbkey, key LeveldbKey, num uint64, interval time.Duration) error
- func (this *LevelDB) RemoveMapInMapByKeyIn(dbkey, keyOut, keyIn LeveldbKey) error
- func (this *LevelDB) RemoveMapInMapByKeyIn_Transaction(dbkey, keyOut, keyIn LeveldbKey) error
- func (this *LevelDB) RemoveMapInMapByKeyOutInterval(dbkey, keyOut LeveldbKey, num uint64, interval time.Duration) error
- func (this *LevelDB) RemoveMore(kvps ...KVPair) error
- func (this *LevelDB) RemoveMore_Transaction(kvps ...KVPair) error
- func (this *LevelDB) Remove_Transaction(key LeveldbKey) error
- func (this *LevelDB) Save(key LeveldbKey, bs *[]byte) error
- func (this *LevelDB) SaveList(dbkey LeveldbKey, value []byte) (uint64, error)
- func (this *LevelDB) SaveMap(dbkey, key LeveldbKey, value []byte) error
- func (this *LevelDB) SaveMapInList(dbkey, key LeveldbKey, value []byte) (uint64, error)
- func (this *LevelDB) SaveMapInMap(dbkey, keyOut, keyIn LeveldbKey, value []byte) error
- func (this *LevelDB) SaveMapInMap_Transaction(dbkey, keyOut, keyIn LeveldbKey, value []byte) error
- func (this *LevelDB) SaveMapMore(dbkey LeveldbKey, kvs ...KVPair) error
- func (this *LevelDB) SaveMapMore_Transaction(dbkey LeveldbKey, kvs ...KVPair) error
- func (this *LevelDB) SaveMap_Transaction(dbkey, key LeveldbKey, value []byte) error
- func (this *LevelDB) SaveMore(kvps ...KVPair) error
- func (this *LevelDB) SaveMore_TransacTion(kvps ...KVPair) error
- func (this *LevelDB) Save_Transaction(key LeveldbKey, bs *[]byte) error
- func (this *LevelDB) UpdateMapInListByIndex(dbkey, key LeveldbKey, index uint64, value []byte) error
- type LeveldbInfo
- type LeveldbKey
Constants ¶
const ( MaxKeySize = 65535 //max key size MaxValueSize int = 1024 * 1024 * 1024 //max value size DBRemoveNum = 100 //分批次删除map集合中的数据,每批次默认数量 DBRemoveInterval = time.Second //分批次删除map集合中的数据,每批次默认间隔时间 )
Variables ¶
var ( DataType_Index = []byte{1} //保存自增长ID DataType_Data_Map = []byte{2} //Map结构数据保存 DataType_Data_List = []byte{3} //List结构数据保存 DataType_Map_In_Map = []byte{4} //map in the map结构 )
Functions ¶
func LeveldbBuildKey ¶
leveldb中,所有的key都带一个key长度前缀,用2字节保存。 2字节容量是65535,因此key长度不能大于65535。 避免不同长度的key前缀查询的时候混合。
Types ¶
type KVPair ¶
type KVPair struct { IsAddOrDel bool //操作类型,true=保存或修改;false=删除; Key LeveldbKey // Value []byte // }
一次数据库操作
type LevelDB ¶
type LevelDB struct {
// contains filtered or unexported fields
}
func CreateLevelDB ¶
func (*LevelDB) FindList ¶
func (this *LevelDB) FindList(dbkey LeveldbKey) ([]DBItem, error)
查询List集合中的所有项目
func (*LevelDB) FindMapAllToList ¶
func (this *LevelDB) FindMapAllToList(dbkey LeveldbKey) ([]DBItem, error)
查询Map中所有的key和value值
func (*LevelDB) FindMapByKeys ¶
func (this *LevelDB) FindMapByKeys(dbkey LeveldbKey, keys ...LeveldbKey) ([]DBItem, error)
查询Map中所有的key和value值
func (*LevelDB) FindMapInListAllKeyToList ¶
func (this *LevelDB) FindMapInListAllKeyToList(dbkey LeveldbKey) ([]DBItem, error)
查询MapInList集合中所有key
func (*LevelDB) FindMapInListByIndex ¶
func (this *LevelDB) FindMapInListByIndex(dbkey, key LeveldbKey, index uint64) ([]byte, error)
查找MapInList集合中的一个key的value值
func (*LevelDB) FindMapInListCount ¶
func (this *LevelDB) FindMapInListCount(dbkey, key LeveldbKey) (uint64, error)
查询MapInList集合中一个key下的列表记录总数
func (*LevelDB) FindMapInListKeyList ¶
func (this *LevelDB) FindMapInListKeyList(dbkey, key LeveldbKey) ([]DBItem, error)
查询MapInList集合中一个key下的列表
func (*LevelDB) FindMapInMapByKeyIn ¶
func (this *LevelDB) FindMapInMapByKeyIn(dbkey, keyOut, keyIn LeveldbKey) ([]byte, error)
查询 Map中有Map 集合中内层key对应的值 @dbkey LeveldbKey 数据库ID @keyOut LeveldbKey 外层map索引 @keyIn LeveldbKey 内层map索引 @return []byte 内层map索引对应的值
func (*LevelDB) FindMapInMapByKeyOut ¶
func (this *LevelDB) FindMapInMapByKeyOut(dbkey, keyOut LeveldbKey) ([]DBItem, error)
查询 Map中有Map 集合中内层key对应的值 @dbkey LeveldbKey 数据库ID @keyOut LeveldbKey 外层map索引 @return []DBItem 内层map索引对应的值
func (*LevelDB) FindMore ¶
func (this *LevelDB) FindMore(keys ...LeveldbKey) ([]DBItem, error)
查找多条记录
func (*LevelDB) Has ¶
func (this *LevelDB) Has(key LeveldbKey) (bool, error)
检查key是否存在 @return bool true:存在;false:不存在;
func (*LevelDB) RemoveMapByDbKey ¶
删除Map 当删除大量数据时,会花很长时间,长期占用数据库,让其他业务无法使用数据库。 可以分批次删除,并且设置每批次间隔时间 @num uint64 一次删除条数 @interval time.Duration 删除间隔时间
func (*LevelDB) RemoveMapByKey ¶
func (this *LevelDB) RemoveMapByKey(dbkey, key LeveldbKey) error
删除Map中的一个key
func (*LevelDB) RemoveMapByKey_Transaction ¶
func (this *LevelDB) RemoveMapByKey_Transaction(dbkey, key LeveldbKey) error
删除Map中的一个key 事务处理
func (*LevelDB) RemoveMapInListByIndex ¶
func (this *LevelDB) RemoveMapInListByIndex(dbkey, key LeveldbKey, index uint64) error
删除MapInList集合中的一个item
func (*LevelDB) RemoveMapInListByKey ¶
func (this *LevelDB) RemoveMapInListByKey(dbkey, key LeveldbKey) error
删除MapInList集合中的一个key
func (*LevelDB) RemoveMapInListByKeyInterval ¶
func (this *LevelDB) RemoveMapInListByKeyInterval(dbkey, key LeveldbKey, num uint64, interval time.Duration) error
间隔删除MapInList集合中的一个key 当删除大量数据时,会花很长时间,长期占用数据库,让其他业务无法使用数据库。 可以分批次删除,并且设置每批次间隔时间 @num uint64 一次删除条数 @interval time.Duration 删除间隔时间
func (*LevelDB) RemoveMapInMapByKeyIn ¶
func (this *LevelDB) RemoveMapInMapByKeyIn(dbkey, keyOut, keyIn LeveldbKey) error
查询 Map中有Map 集合中内层key对应的值 @dbkey LeveldbKey 数据库ID @keyOut LeveldbKey 外层map索引 @keyIn LeveldbKey 内层map索引 @return []byte 内层map索引对应的值
func (*LevelDB) RemoveMapInMapByKeyIn_Transaction ¶
func (this *LevelDB) RemoveMapInMapByKeyIn_Transaction(dbkey, keyOut, keyIn LeveldbKey) error
查询 Map中有Map 集合中内层key对应的值 事务处理 @dbkey LeveldbKey 数据库ID @keyOut LeveldbKey 外层map索引 @keyIn LeveldbKey 内层map索引 @return []byte 内层map索引对应的值
func (*LevelDB) RemoveMapInMapByKeyOutInterval ¶
func (this *LevelDB) RemoveMapInMapByKeyOutInterval(dbkey, keyOut LeveldbKey, num uint64, interval time.Duration) error
间隔删除 Map中有Map 集合中外层key对应的值 当删除大量数据时,会花很长时间,长期占用数据库,让其他业务无法使用数据库。 可以分批次删除,并且设置每批次间隔时间 @dbkey LeveldbKey 数据库ID @keyOut LeveldbKey 外层map索引 @num uint64 一次删除条数 @interval time.Duration 删除间隔时间
func (*LevelDB) RemoveMore_Transaction ¶
删除多个操作 事务处理
func (*LevelDB) Remove_Transaction ¶
func (this *LevelDB) Remove_Transaction(key LeveldbKey) error
删除 事务处理
func (*LevelDB) SaveList ¶
func (this *LevelDB) SaveList(dbkey LeveldbKey, value []byte) (uint64, error)
保存到List集合中
func (*LevelDB) SaveMap ¶
func (this *LevelDB) SaveMap(dbkey, key LeveldbKey, value []byte) error
保存到Map
func (*LevelDB) SaveMapInList ¶
func (this *LevelDB) SaveMapInList(dbkey, key LeveldbKey, value []byte) (uint64, error)
保存到MapInList集合中
func (*LevelDB) SaveMapInMap ¶
func (this *LevelDB) SaveMapInMap(dbkey, keyOut, keyIn LeveldbKey, value []byte) error
保存到 Map中有Map 集合中 @dbkey LeveldbKey 数据库ID @keyOut LeveldbKey 外层map索引 @keyIn LeveldbKey 内层map索引 @value []byte 内层map索引对应的值
func (*LevelDB) SaveMapInMap_Transaction ¶
func (this *LevelDB) SaveMapInMap_Transaction(dbkey, keyOut, keyIn LeveldbKey, value []byte) error
保存到 Map中有Map 集合中 事务处理 @dbkey LeveldbKey 数据库ID @keyOut LeveldbKey 外层map索引 @keyIn LeveldbKey 内层map索引 @value []byte 内层map索引对应的值
func (*LevelDB) SaveMapMore ¶
func (this *LevelDB) SaveMapMore(dbkey LeveldbKey, kvs ...KVPair) error
保存到Map,可以一次保存多个
func (*LevelDB) SaveMapMore_Transaction ¶
func (this *LevelDB) SaveMapMore_Transaction(dbkey LeveldbKey, kvs ...KVPair) error
保存到Map,可以一次保存多个 事务处理
func (*LevelDB) SaveMap_Transaction ¶
func (this *LevelDB) SaveMap_Transaction(dbkey, key LeveldbKey, value []byte) error
保存到Map 事务处理
func (*LevelDB) SaveMore_TransacTion ¶
保存多条数据 事务处理
func (*LevelDB) Save_Transaction ¶
func (this *LevelDB) Save_Transaction(key LeveldbKey, bs *[]byte) error
保存 事务处理
func (*LevelDB) UpdateMapInListByIndex ¶
func (this *LevelDB) UpdateMapInListByIndex(dbkey, key LeveldbKey, index uint64, value []byte) error
修改MapInList集合中的一个key的value值
type LeveldbKey ¶
type LeveldbKey struct {
// contains filtered or unexported fields
}
func LeveldbParseKeyMore ¶
func LeveldbParseKeyMore(key []byte) ([]LeveldbKey, error)
多个长度+[]byte拼接,通过长度解析出来多个数据。不能有不符合规范的数据,有则报错