BadgerDb 快速存储的,固化的数据库

BadgerDB是以key value形式存放在硬盘上,官网拿自己跟facebook的Rocksdb 做对比,说自己支持SSD,Rocksdb不支持。

对于存储固然少不了 Add,delete, update , Search

从BadgerDB编程来说

               1. 打开数据库, 需要设在数据存放路径

               2. 操作 --  Add, Delete, Update, Search

 

package main

import (
	"log"

	"github.com/dgraph-io/badger"
)

func main() {
  // Open the Badger database located in the /tmp/badger directory.
  // It will be created if it doesn't exist.
  opts := badger.DefaultOptions
  opts.Dir = "/tmp/badger"
  opts.ValueDir = "/tmp/badger"
  db, err := badger.Open(opts)
  if err != nil {
	  log.Fatal(err)
  }
  defer db.Close()
  // Your code here…
}
  db, err := badger.Open(opts)

注意: Open之后,目录/tmp/badger会被锁住,即其他进程Open时会报错.

2.操作: Add,我们开一个事物来处理

update := db.NewTransaction(true) #读写事物
defer update.Discard()
if err := update.Set([]byte("key"), []byte("value"));err == nil {

 _ = update.Commit()  #内部有调用Discard
}

3.操作; Delete 

txn := db.NewTransaction(true)
defer txn.Discard()
if err:=txn.Delete([]byte("key"));err == nil {
    return true
}

4. 操作:Get

gtxn := db.NewTransaction(false) #只读事物
defer gtxn.Discard()
if item, err := gtxn.Get([]byte("key"));err == nil {
            if value,err := item.ValueCopy(nil); err == nil{
                  fmt.Println(value)
             }
}

5.操作:遍历整个数据

txn := db.NewTransaction(false)
defer txn.Discard()
iter := badger.DefaultIteratorOptions
it := txn.NewIterator(iter)
for it.Rewind();it.Valid(); it.Next(){
     item := it.Item()
     fmt.Printf("key: %s\n", item.Key())
     value,_ := item.CopyValue(nil)
      fmt.Printf("value: %s\n", value)
}

badger 还有其他的关于stream(需要使用openmanage), prefix(iterator: seek) 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VxWorks是实时操作系统(RTOS)的一种,广泛应用于嵌入式系统中。在嵌入式系统中,VxWorks程序的固化是指将程序代码和数据存储在非易失性存储介质,如闪存或EPROM中的过程。 VxWorks程序的固化可以通过以下步骤实现: 1. 开发程序:首先需要开发嵌入式应用程序,包括代码和必要的数据。 2. 编译和链接:将开发好的程序代码使用适当的编译器进行编译和链接,生成目标文件。 3. 生成映像文件:将目标文件转化为对应的可执行文件格式,即映像文件。映像文件中包含了程序代码和数据的二进制表示。 4. 烧写映像文件:将生成的映像文件通过专用的烧写工具,将其写入非易失性存储介质中,如闪存或EPROM。 5. 启动系统:在嵌入式系统中,通过引导程序将固化的映像文件加载到内存中,并进行启动,使程序在实时操作系统的控制下运行。 VxWorks程序的固化具有以下优点: 1. 可靠性:固化程序可以在断电或系统重启后快速恢复工作状态,不会丢失任何数据,确保系统的可靠性和稳定性。 2. 安全性:将程序固化在非易失性存储介质中可以防止未经授权的修改或篡改,提高系统的安全性。 3. 效率:固化程序能够提高系统的启动速度,减少启动时间。 总之,VxWorks程序的固化是将开发好的程序代码和数据存储在非易失性存储介质中的过程,以提高系统的可靠性、安全性和效率。固化后的程序可以在断电或系统重启后快速恢复工作状态,并且防止未经授权的篡改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值