美文网首页
Golang-levelDB的使用

Golang-levelDB的使用

作者: 会搬东西的小蚂蚁 | 来源:发表于2019-06-11 12:41 被阅读0次

package main

import (

"fmt"

"github.com/syndtr/goleveldb/leveldb"

)

func main() {

levelDB()

}

func levelDB() {

//定义字符数组key value

  key := []byte("Test")

value := []byte("Test Level DB")

//定义字符串的键值对

  k1 :="key"

  v1 :="value"

  // The returned DB instance is safe for concurrent use.

// The DB must be closed after use, by calling Close method.

//文件夹位置,获取db实例-设置数据库文件的位置

  db, err := leveldb.OpenFile("path/to/db", nil)

//leveldb.

//延迟关闭db流,必须的操作

  defer db.Close()

if err != nil {

fmt.Println(err)

}

//向db中插入键值对

  e := db.Put(key, value, nil)

//将字符串转换为byte数组

  e = db.Put([]byte(k1), []byte(v1), nil)

fmt.Println(e)//

/**

|| 注意:查看路径下的db文件,可知道文件都是自动切分为一些小文件.

*/

//根据key值查询value

  data, _ := db.Get(key, nil)

fmt.Println(data)//[84 101 115 116 32 76 101 118 101 108 32 68 66]

  fmt.Printf("%c\n",data)//[T e s t  L e v e l  D B]

  data, _ = db.Get([]byte(k1), nil)

fmt.Println(data)//[118 97 108 117 101]

  fmt.Printf("%c\n",data)//[v a l u e]

// It is safe to modify the contents of the arguments after Delete returns but

// not before.

//根据key进行删除操作

  i := db.Delete(key, nil)

fmt.Println(i)//

  data, _ = db.Get(key, nil)

fmt.Println(data)//[]

//

//获取db快照

  snapshot, i := db.GetSnapshot()

fmt.Println(snapshot)//leveldb.Snapshot{22}

  fmt.Println(i)//

//注意: The snapshot must be released after use, by calling Release method.

//也就是说snapshot在使用之后,必须使用它的Release方法释放!

  snapshot.Release()

}

levelDB使用

相关文章

  • Golang-levelDB的使用

    package main import ( "fmt" "github.com/syndtr/goleveldb/...

  • iconfont的使用(下载使用)

    1、下载文件 2、在生命周期中引入项目 beforeCreate () { var domModule = ...

  • Gson的使用--使用注解

    Gson为了简化序列化和反序列化的过程,提供了很多注解,这些注解大致分为三类,我们一一的介绍一下。 自定义字段的名...

  • 记录使用iframe的使用

    默认记录一下----可以说 这是我第一次使用iframe 之前都没有使用过; 使用方式: 自己开发就用了这几个属...

  • with的使用

    下面例子可以具体说明with如何工作: 运行代码,输出如下

  • this的使用

    什么是this? this是一个关键字,这个关键字总是返回一个对象;简单说,就是返回属性或方法“当前”所在的对象。...

  • this的使用

    JS中this调用有几种情况 一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象...

  • ==的使用

    积累日常遇到的编码规范,良好的编码习惯,持续更新。。。 日常使用==用于判断的时候,习惯性将比较值写前面,变量写后...

  • this的使用

    1.默认绑定,就是函数立即执行。 函数立即执行就是指向window,但是如果是node环境,就是指向全局conso...

  • %in% 的使用

    写在前面:From 生信技能书向量难点之一:%in% 难点 (1)== 与 %in% 的区别== 强调位置,x和对...

网友评论

      本文标题:Golang-levelDB的使用

      本文链接:https://www.haomeiwen.com/subject/edoffctx.html