mirror of
https://github.com/xxjwxc/public.git
synced 2025-09-26 20:01:19 +08:00
96 lines
1.1 KiB
Go
96 lines
1.1 KiB
Go
package goleveldb
|
|
|
|
import (
|
|
"os"
|
|
|
|
"../../data/config"
|
|
"../log"
|
|
"github.com/syndtr/goleveldb/leveldb"
|
|
)
|
|
|
|
var m_db *leveldb.DB = nil
|
|
|
|
func init() {
|
|
Clear();
|
|
creat()
|
|
}
|
|
|
|
func creat(){
|
|
if m_db == nil{
|
|
var err error
|
|
m_db, err = leveldb.OpenFile(config.GetLevelDbDir(), nil)
|
|
if err != nil {
|
|
log.Print(log.Log_Error, err.Error())
|
|
m_db.Close()
|
|
m_db = nil
|
|
}
|
|
}
|
|
}
|
|
|
|
/*
|
|
清空数据
|
|
*/
|
|
func Clear() bool {
|
|
Close();
|
|
os.RemoveAll(config.GetLevelDbDir());
|
|
return true;
|
|
}
|
|
|
|
|
|
/*
|
|
关闭
|
|
*/
|
|
func Close(){
|
|
if m_db != nil{
|
|
m_db.Close()
|
|
m_db = nil;
|
|
}
|
|
}
|
|
|
|
/*
|
|
*获取
|
|
*/
|
|
func Get(key []byte) (data []byte, err error) {
|
|
data = nil
|
|
data, err = m_db.Get(key, nil)
|
|
return
|
|
}
|
|
|
|
/*
|
|
设置
|
|
*/
|
|
func Set(key, value []byte) error {
|
|
err := m_db.Put(key, value, nil)
|
|
return err
|
|
}
|
|
|
|
/*
|
|
删除
|
|
*/
|
|
func Delete(key []byte) error {
|
|
return m_db.Delete(key, nil)
|
|
}
|
|
|
|
/*
|
|
*获取
|
|
*/
|
|
func Getkv(key string) (data []byte, err error) {
|
|
return Get([]byte(key))
|
|
}
|
|
|
|
/*
|
|
*获取
|
|
*/
|
|
func Setkv(key string, value []byte) error {
|
|
return Set([]byte(key), value)
|
|
}
|
|
|
|
/*
|
|
删除
|
|
*/
|
|
func Deletekv(key string) error {
|
|
return Delete([]byte(key))
|
|
}
|
|
|
|
|