问题标签 [leveldb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
binary - 为什么 leveldb DB::Get API 使用 std::string 作为值类型?
我想在 leveldb 中存储键(url)和值(jpg 图像)。据说,
键和值是任意字节数组。
如何使用 DB::Get API?
leveldb - 为什么 LevelDB 需要两个以上的级别?
我认为只有两个级别(级别 0 和级别 1)是可以的,为什么 LevelDB 需要级别 2、级别 3 等等?
leveldb - Java的Leveldb:迭代时删除
我正在运行这个测试:
我期望密钥将从队列中删除,但在控制台中似乎只有一个相同的密钥被删除:
我是否错误地使用了 API?
node.js - 适用于 Windows/Node 0.8 的 Node.js 键值存储
我正在开发一个需要快速、嵌入式和持久键值存储(如 LevelDB)的项目,但开发环境仅限于 Windows 7 / Node 0.8。我的自然反应是尝试找到一个 LevelDB 绑定,但 LevelUP / my8bird 的 leveldb 在 Windows 下根本无法编译,而 LevelDOWN 仅适用于 Node.js > 0.10。
有任何想法吗?它不必是LevelDB——只要是任何具有持久性和合理的崩溃容错的嵌入式(无服务器)键值存储,并且具有可以在该环境下工作的 Node.js 绑定。
nosql - leveldb/Cassandra 的布隆过滤器是否有助于范围查询?
我知道 leveldb/cassandra 将他们的记录存储在 SSTable 中,并使用布隆过滤器在执行精确键查询时选择 SSTable,他们的布隆过滤器是否有助于键范围查询?
c++ - LevelDB:比较器、block_cache 和 filter_policy 的生命周期和责任?
关闭数据库后是否需要删除比较器、block_cache 和 filter_policy?它们是否需要在数据库的生命周期中存在?
我在任何文档中都找不到此信息。
通过查看源代码,我猜我需要在关闭数据库后删除它们,但它们需要在它打开的生命周期内持续存在。
谢谢
leveldb - LevelDB:按插入顺序迭代键
在 LevelDB 中生成自动递增键的好策略是什么?我的目标是能够按照插入的顺序遍历键。
c++ - 为什么在类声明中使用宏
我正在阅读 leveldb 的源代码,尤其是。关于互斥锁。
我发现了这个声明:
我发现它SCOPED_LOCKABLE
被定义为空,那么为什么在类声明中使用它呢?
c++ - LevelDB 随机读取——为什么官方基准这么好?
根据这个官方基准,它在随机读取时执行 129,000 ops/sec。但据我所知,随机读取至少需要对磁盘进行一次随机访问(缓存对随机读取没有帮助,因为整个数据库比缓存大得多),一个随机访问磁盘需要大约 10ms 的磁盘寻找时间。这应该使随机读取速度低于 100 ops/sec。
我在我的慢速机器上用 100,000,000 个 MD5 字符串做了一个简单的测试。随机写入执行大约 50,000 ops/sec(与官方基准不远),随机读取执行大约 20 ops/sec。
问题是:为什么leveldb的官方benchmark能拿到这么高的成绩?我没有看到对基准代码的特殊优化,并且基准不使用 SSD 磁盘之类的东西。
c++ - LevelDB:IO错误:XXX.sst:打开的文件太多
我在具有 5 个数据库的应用程序中使用 LevelDB。每个数据库都使用选项打开max_open_files = 64
。
ulimit -Sn
显示操作系统有 1024 个文件的限制。将限制设置为 2048 可以解决问题。因为我将这个应用程序分发给人们,所以它应该具有开箱即用的默认设置,而不需要人们配置他们的操作系统。
我收到很多这些错误,根本无法阅读。
在一个名为的子目录中有 5 个数据库database
:
我想为每个 .sst 文件更改 LevelDB 内的 2 MB 限制,但它似乎无法调整,我只在 Google 上看到了这个补丁:https ://github.com/basho/leveldb/pull/7
我正在使用 Ubuntu 13.04 64 位。
这是我用于打开数据库的代码。如果我open_options.max_open_files
在调用 之前leveldb::DB::Open()
显示 ,它会显示 64 (如预期的那样)。
即使我设置max_open_files = 20
了我仍然遇到同样的问题。