GO语音github上一个高效的轻量级的数据库

bolt是一个go语音的写数据库

bolt是一种key=》value形式的,没有sql语音;

我们先把这个下载到自己的电脑

go get -t github.com/boltdb/bolt

我们写一个dom来解释bolt 把连接数据库 和插入数据,获取数据

package main
import (
"fmt"
"github.com/boltdb/bolt"
)
func main() {
//打开数据库
//func Open(path string, mode os.FileMode, options *Options) (*DB, error) {
db, err := bolt.Open("test.db", 0600, nil /*超时相关配置*/)
if err != nil {
fmt.Println("bolt.Open err:", err)
return
}defer db.Close()
//打开桶,Bucket, 如果没有桶,则需要手动创建
db.Update(func(tx *bolt.Tx) error {
//尝试打开一个bucket
b := tx.Bucket([]byte("blockBucket"))
if b == nil {
//当前的bucket不存在,需要创建
b, err = tx.CreateBucket([]byte("blockBucket"))
if err != nil {
fmt.Println(" tx.CreateBucket err:", err)
return err
}
}
//此时b一定是非nil的
//添加   
_ = b.Put([]byte("key1"), []byte("hello"))
_ = b.Put([]byte("key2"), []byte("world"))
_ = b.Put([]byte("key2"), []byte("WORLD")) //覆盖  修改是从新对这个数据进行添加操作
//读取
v1 := b.Get([]byte("key1"))
v2 := b.Get([]byte("key2"))
v3 := b.Get([]byte("key3")) //返回空值
fmt.Println("v1:", string(v1))
fmt.Println("v2:", string(v2))
fmt.Println("v3:", string(v3))
return nil
})
}

觉得可以就点个赞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值