Go语言中使用 BoltDB数据库

原创
2018/11/22 18:11
阅读数 3.8K

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)
	}

}

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部