boltdb 是使用Go语言编写的开源的键值对数据库,Github的地址如下:
https://github.com/boltdb/bolt
boltdb 存储数据时 key 和 value 都要求是字节数据,此处需要使用到 序列化和反序列化。
以下为boltdb的常见使用方式:
使用如下命令进行安装
go get github.com/boltdb/bolt
package main
import (
"github.com/boltdb/bolt"
"log"
"fmt"
)
func main() {
// Open the my.db data file in your current directory.
// It will be created if it doesn't exist.
// 创建或者打开数据库
db, err := bolt.Open("my.db", 0600, nil)
if err != nil {
log.Fatal(err)
}
defer db.Close()
// 创建表
err = db.Update(func(tx *bolt.Tx) error {
// 获取BlockBucket表单
b := tx.Bucket([]byte("BlockBucket"))
// 往表里面存储数据
if b != nil {
err := b.Put([]byte("ll"),[]byte("Send 1000 BTC To 冠希哥......"))
if err != nil {
log.Panic("数据存储失败......")
}
}
// 返回nil,以便数据库处理相应操作
return nil
})
//更新失败
if err != nil {
log.Panic(err)
}
// 查看数据
err = db.View(func(tx *bolt.Tx) error {
// 获取BlockBucket表对象
b := tx.Bucket([]byte("BlockBucket"))
// 往表里面存储数据
if b != nil {
data := b.Get([]byte("l"))
fmt.Printf("%s\n",data)
data = b.Get([]byte("ll"))
fmt.Printf("%s\n",data)
}
// 返回nil,以便数据库处理相应操作
return nil
})
//更新失败
if err != nil {
log.Panic(err)
}
}