BadgerDB

Go 的快速键值存储
授权协议 Apache
开发语言 Google Go
所属分类 数据库相关、 NoSQL数据库
软件类型 开源软件
地区 不详
投 递 者 水品
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Badger 是一个可嵌入,持久,简单,快速的键值(KV)存储,纯 Go 编写。 Badger 在进行随机读取时比 RocksDB 快至少 3.5 倍。 对于 128B 到 16KB 之间的数据量,数据加载速度是 RocksDB 的 0.86x - 14 倍,随着数字大小的增加,Badger 获得了很大的发展。 另一方面,Badger 在范围键值迭代方面目前较慢,但是这有很大的优化空间。

特性

  • 纯 Go 编写

  • 使用最新的研究来构建最快的键值存储。

  • 简单

  • 以 SSD 为中心的设计

性能对比

  • BadgerDB是以key value形式存放在硬盘上,官网拿自己跟facebook的Rocksdb 做对比,说自己支持SSD,Rocksdb不支持。 对于存储固然少不了 Add,delete, update , Search 从BadgerDB编程来说                1. 打开数据库, 需要设在数据存放路径                2. 操作 --  Add, Delete

 相关资料
  • 如何强制GLFW管理每秒60次以上的键盘回调?也就是说,我希望GLFW的键盘处理速度取决于实际的FPS。这可能吗?

  • 我正在使用Fast.API我需要一个API来允许用户发布任何数据,键/值-我使用它来允许用户将自定义配置文件键/值字段添加到配置文件,其中键是字符串类型,值是字符串、数字、布尔值。 如何添加此类路由? 我正在使用这条路线,但不起作用: 我希望能够将任何一对键/值发布到该路由。有什么方法可以用FastAPI来实现吗? 非常感谢。

  • 问题内容: 我有大约350,000个密钥的数据库。目前,我的代码只是循环遍历所有键,并从db获取其值。 但是,这花费了将近2分钟的时间,这似乎确实很慢,达到了10万次请求/ 3秒。 我已经研究过流水线技术,但是我需要返回每个值,以便最终得到键值对的字典。 目前,我正在考虑在代码中使用线程来加快速度,这是处理此用例的最佳方法吗? 这是我到目前为止的代码。 问题答案: 首先,最快的方法是在EVAL中完

  • 问题内容: 该问题已清除,重要信息移至下面的答案。 我对内存管理有一些疑问。 我正在构建照片编辑应用程序。因此,保持较低的内存使用量很重要。另外,我不打算发布代码,因为在做一件特定的事情时,我不会发生大的内存泄漏。我将所有发生的一切都丢失了几KB / MB。遍历数万行代码以查找千字节并不有趣;) 我的应用使用了核心数据,许多cifilter内容,位置和基础知识。 我的第一个视图只是一个表视图,它占

  • 问题内容: 我正在尝试添加徽章警报标签,如所附屏幕快照中的标签。 我尝试搜索标题,标签uitabbar项目,但被卡住了。 任何建议表示赞赏。 问题答案: Xcode 7.2.1 Swift 2.1.1 您只需要为所需的UITabBarItem设置badgeValue,如下所示: 要从UITabBarItem中删除徽章,只需为其添加nil值

  • 问题内容: (这是该问题的后续内容: 使用具有多个键的可解码协议。) 我有以下Swift代码: 我知道,如果我使用并且没有该属性,但如果它是一个可选变量,它仍然可以正确处理它。 例如,以下JSON可使用上面的代码来解析它。 以下JSON也适用。 但是以下操作无效。 如何使所有3个示例正常工作?有什么类似的? 问题答案: 您可以使用以下功能: 返回一个值,该值指示解码器是否包含与给定密钥关联的值。与

  • 问题内容: 尝试使用字典中的键快速填充字符串。 这将返回错误:’AnyObject’与字符串不同 也试过了 但得到:’String’不能转换为[String] 问题答案: Swift 3和Swift 4

  • 这个问题要求在键盘上键入字符串所需的总时间,用一个手指表示为二维字符矩阵。 输入: 第一行包含n和m作为输入,表示键盘矩阵的维数 接下来的n行包含m个字符,每个字符表示键盘中的字符 下一行将包含字符串S 输出: 说明:手指最初位于键盘的第一个符号,因此按下该键所需的时间为0。之后,新键位于1,1,因此总时间为|1-0||1-0|即2。现在第三个键位于位置1,2,因此移动到该键的总时间为|2-1||