golang常用库之-KV数据库之pebble
Pebble是一个Go语言实现的KV数据库,它提供了一个轻量级的、可嵌入的、持久化的key-value存储系统。
以下是使用Pebble创建和使用KV数据库的一个简单示例:
package main
import (
"bytes"
"fmt"
"github.com/cockroachdb/pebble"
)
func main() {
// 创建Pebble数据库实例
db, err := pebble.Open(".pebble-db", nil)
if err != nil {
panic(err)
}
defer db.Close()
// 写入一个key-value记录
key := []byte("hello")
value := []byte("world")
if err := db.Set(key, value, pebble.Sync); err != nil {
panic(err)
}
// 读取一个key-value记录
valueBytes, closer, err := db.Get(key)
if err != nil {
panic(err)
}
defer closer.Close()
fmt.Printf("Key: %s, Value: %s\n", key, valueBytes)
// 遍历所有的key-value记录
iter := db.NewIter(nil)
for iter.First(); iter.Valid(); iter.Next() {
key := iter.Key()
value := iter.Value()
fmt.Printf("Key: %s, Value: %s\n", key, value)
}
iter.Close()
// 删除一个key-value记录
if err := db.Delete(key, pebble.Sync); err != nil {
panic(err)
}
}
这段代码展示了如何使用Pebble库创建一个简单的KV数据库,包括写入、读取、遍历和删除操作。代码中使用的pebble.Open
函数用于打开或创建数据库,db.Set
用于写入数据,db.Get
用于读取数据,db.NewIter
用于创建迭代器进行遍历,db.Delete
用于删除数据。
评论已关闭