如何使用LevelDB?

har*_*ass 6 go leveldb

http://code.google.com/p/leveldb/开始,似乎没有明确或容易将LevelDB与Go一起使用.但我真的想知道如何在Go中使用它.

谁能给我一个线索?

Ant*_*ton 13

这是LevelDB的Go实现https://github.com/syndtr/goleveldb

以下是如何使用它:

go get github.com/syndtr/goleveldb/leveldb
Run Code Online (Sandbox Code Playgroud)

创建或打开数据库:

db, err := leveldb.OpenFile("path/to/db", nil)
...
defer db.Close()
...
Run Code Online (Sandbox Code Playgroud)

读取或修改数据库内容:

data, err := db.Get([]byte("key"), nil)
...
err = db.Put([]byte("key"), []byte("value"), nil)
...
err = db.Delete([]byte("key"), nil)
...
Run Code Online (Sandbox Code Playgroud)


Son*_*ton 11

使用levigo - 一个围绕C++版LevelDB的Golang包装器.

文件levigo/leveldb_test.go为您提供了如何使用levigo的示例.


Mos*_*afa 0

使用leveldb-go,由 Go 作者移植。

  • 坏消息。即使6年过去了,它仍然没有完成。 (6认同)
  • leveldb 到 Golang 的移植还没有完成。 (4认同)
  • 至于2012/07/06,看起来是从头开始重写,但还没有。请参阅 leveldb.go: func (d *DB) Get()...{panic("未实现") } (2认同)