golangでLevelDBを使う
golang
でDBを扱うついでに、まだ触ったことがなかったLevelDB
についでに触れてみました。
LevelDB
については、こちらの記事がとてもわかりやすかったです。
勉強になります(T_T)
LevelDB入門 (基本編) - from scratch
ライブラリ
LevelDB
のクライアントは、以下を使用しました。
サンプルコード
実装コードはこんな感じになりました。 基本的に他DBとかと同じで、OpenしてGetやSetしてCloseな感じでわかりやすかったです。
package main import ( "fmt" "github.com/kyokomi/emoji" "code.google.com/p/leveldb-go/leveldb" "code.google.com/p/leveldb-go/leveldb/db" ) func main() { // levelDB open var opt db.Options level, err := leveldb.Open("hogeDB", &opt) if err != nil { fmt.Println("error", err) } defer level.Close() // key=cocoro value= PyonPyon write var writeOpt db.WriteOptions writeStr := emoji.Sprint("@{:coffee:} PyonPyon @{:coffee:}") level.Set([]byte("cocoro"), []byte(writeStr), &writeOpt) // write check var readOpt db.ReadOptions readData, err := level.Get([]byte("cocoro"), &readOpt) if err != nil { fmt.Println("error", err) } fmt.Println(string(readData)) }
実行結果
いい感じです。コーヒーも保存できました。
しばらく使ってみようと思います!!