Go语言中使用 BoltDB数据库
Posted 刘贤松
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言中使用 BoltDB数据库相关的知识,希望对你有一定的参考价值。
boltdb 是使用Go语言编写的开源的键值对数据库,Github的地址如下:
https://github.com/boltdb/bolt
boltdb 存储数据时 key 和 value 都要求是字节数据,此处需要使用到 序列化和反序列化。
以下为boltdb的常见使用方式:
1、安装Boltdb数据库
使用如下命令进行安装
go get github.com/boltdb/bolt
2、常见API操作
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)
以上是关于Go语言中使用 BoltDB数据库的主要内容,如果未能解决你的问题,请参考以下文章