安装
go get github.com/syndtr/goleveldb/leveldb
使用
1 打开、创建数据库
db, err := leveldb.OpenFile("./block.db", nil)
2 写入一个Key数据
err = db.Put([]byte("hello"), []byte("world"), nil)
3 读取一个Key数据
data, _ := db.Get([]byte("hello"), nil)
4 遍历数据库
iter := db.NewIterator(nil, nil)
for iter.Next() {
logger.Debug(iter.Key() + iter.Value())
}
5 读取某个前缀的所有KEY数据
读出来的数据会被放进一个Iterator中。加入数据库现在有key-$num为头的数条数据
iter := db.NewIterator(dbUtil.BytesPrefix([]byte("key-")), nil)
遍历读取这些数据
for iter.Next() {
logger.Debug(string(iter.Key()) + string(iter.Value()))
}
读取最后一条数据
if iter.Last() {
logger.Debug(iter.Key() + iter.Value())
}
6 删除某个KEY
err = db.Delete([]byte("key-3"), nil)
网友评论