This commit is contained in:
suguo.yao 2022-03-23 17:05:30 +08:00
commit 794bd74337
3 changed files with 49 additions and 0 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
data/*
go.sum
*.exe
leveldb-demo

8
go.mod Normal file
View File

@ -0,0 +1,8 @@
module myschools.me/suguo/leveldb-demo
go 1.18
require (
github.com/golang/snappy v0.0.4 // indirect
github.com/syndtr/goleveldb v1.0.0 // indirect
)

37
main.go Normal file
View File

@ -0,0 +1,37 @@
package main
import (
"fmt"
"log"
"github.com/syndtr/goleveldb/leveldb"
"github.com/syndtr/goleveldb/leveldb/opt"
)
func main() {
db, err := leveldb.OpenFile("./data", nil)
if err != nil {
log.Fatal(err)
}
defer db.Close()
for i := 0; i < 50; i++ {
if err := db.Put([]byte(fmt.Sprintf("hello %d", i)), []byte("a hello world."), nil); err != nil {
log.Fatal(err)
}
}
ret, err := db.Has([]byte("hello 49"), &opt.ReadOptions{
DontFillCache: false,
Strict: 0,
})
if err != nil {
log.Fatal(err)
}
fmt.Println(ret)
val, err := db.Get([]byte("hello 4"), nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(val))
}