mirror of
https://github.com/taigrr/bitcask
synced 2025-01-18 04:03:17 -08:00
Add List, Hash and SortedSet data types
This commit is contained in:
27
tests/test_hash.go
Normal file
27
tests/test_hash.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"github.com/prologic/bitcask"
|
||||
)
|
||||
|
||||
func main() {
|
||||
db, err := bitcask.Open("test.db")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
l := db.Hash([]byte("foo"))
|
||||
err = l.Set([]byte("1"), []byte("one"))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
err = l.Set([]byte("2"), []byte("two"))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
err = l.Set([]byte("3"), []byte("three"))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
33
tests/test_list.go
Normal file
33
tests/test_list.go
Normal file
@@ -0,0 +1,33 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"github.com/prologic/bitcask"
|
||||
)
|
||||
|
||||
func main() {
|
||||
db, err := bitcask.Open("test.db")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
l := db.List([]byte("foo"))
|
||||
err = l.Append([]byte("one"))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
err = l.Append([]byte("two"))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
err = l.Append([]byte("three"))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
len, err := l.Len()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
fmt.Printf("len: %d\n", len)
|
||||
}
|
||||
31
tests/test_sortedset.go
Normal file
31
tests/test_sortedset.go
Normal file
@@ -0,0 +1,31 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"github.com/prologic/bitcask"
|
||||
)
|
||||
|
||||
func main() {
|
||||
db, err := bitcask.Open("test.db")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
z := db.SortedSet([]byte("foo"))
|
||||
added, err := z.Add(
|
||||
bitcask.Int64ToScore(1), []byte("a"),
|
||||
bitcask.Int64ToScore(2), []byte("b"),
|
||||
bitcask.Int64ToScore(3), []byte("c"),
|
||||
)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
fmt.Printf("added %d\n", added)
|
||||
|
||||
score, err := z.Score([]byte("b"))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
fmt.Printf("score: %d\n", bitcask.ScoreToInt64(score))
|
||||
}
|
||||
BIN
tests/tests
Executable file
BIN
tests/tests
Executable file
Binary file not shown.
Reference in New Issue
Block a user