使用键值对
将key-value键值对保存在一个bucket, 你可以使用 tx.Put
这个方法:
- 添加数据
if err := db.Update(
func(tx *nutsdb.Tx) error {
key := []byte("name1")
val := []byte("val1")
bucket: = "bucket1"
if err := tx.Put(bucket, key, val, 0); err != nil {
return err
}
return nil
}); err != nil {
log.Fatal(err)
}
- 更新数据
上面的代码执行之后key为”name1”和value值”val1”被保存在命名为bucket1的bucket里面。
如果你要做更新操作,你可以仍然用tx.Put
方法去执行,比如下面的例子把value的值改成”val1-modify”:
if err := db.Update(
func(tx *nutsdb.Tx) error {
key := []byte("name1")
val := []byte("val1-modify") // 更新值
bucket: = "bucket1"
if err := tx.Put(bucket, key, val, 0); err != nil {
return err
}
return nil
}); err != nil {
log.Fatal(err)
}
- 获取数据
获取值可以用tx.Get
这个方法:
if err := db.View(
func(tx *nutsdb.Tx) error {
key := []byte("name1")
bucket: = "bucket1"
if e, err := tx.Get(bucket, key); err != nil {
return err
} else {
fmt.Println(string(e.Value)) // "val1-modify"
}
return nil
}); err != nil {
log.Println(err)
}
- 删除数据
删除使用tx.Delete()
方法:
if err := db.Update(
func(tx *nutsdb.Tx) error {
key := []byte("name1")
bucket: = "bucket1"
if err := tx.Delete(bucket, key); err != nil {
return err
}
return nil
}); err != nil {
log.Fatal(err)
}