Golang-levelDB的使用

栏目: 数据库 · 发布时间: 6年前

内容简介:package mainimport ("fmt"

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

}

Golang-levelDB的使用

levelDB使用


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ext JS学习指南

Ext JS学习指南

(美)布莱兹、(美)拉姆齐、(美)弗雷德里克 / 孔纯、肖景海、张祖良 / 人民邮电出版社 / 2009-10 / 39.00元

《Ext JS学习指南》系统化地介绍了Ext JS的基础知识,从框架的下载安装到各种常用小部件的实例介绍,从如何自定义小部件到Ext JS代码复用和扩展机制,《Ext JS学习指南》覆盖了Ext JS知识的所有主要方面。作为Web 2.0时代企业应用的一把开发利器,Ext JS为企业应用开发的表现层实现提供了优秀的解决方案。 如果你掌握了HTML,并且了解一般的CSS和JavaScript的......一起来看看 《Ext JS学习指南》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换