问题标签 [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.
nosql - Leveldb 与 Redis 或 Riak 或 Tokyo Tyrant 相比如何?
Leveldb似乎是来自 Google 的一个新的有趣的持久键值存储。Leveldb 与 Redis 或 Riak 或 Tokyo Tyrant 有何不同?在哪些特定用例中,一种比另一种更好?
java - LevelDB 支持 java 吗?
我想知道 LevelDB 是否支持 java ?我在哪里可以获得 LevelDB。http://code.google.com/p/leveldb/下没有文件
c++ - LevelDB 在删除 LevelDB 实例时断言
当我尝试删除 leveldb 实例时,我得到了一些非常烦人的断言,但我不确定它为什么会发生!
断言发生在version_set.cc文件中:
此外,它在同一文件的另一个位置断言:
这是有关我系统中使用情况的更多背景详细信息,我有一个:
ExtStorage
具有LevelDB::DB
实例的类(扩展存储)。- class
EextStorageDotNet
,它是ExtStorage
. - class
AltStorage
,它包含一个指向 ExtStorage 类的指针(通过构造函数传递): - class
AltStorageDotNet
,它是AltStorage
.
备用存储类如下所示:
该类ExtStorage
如下所示:
该类AltStorageDotNet
如下所示:
DotNet 包装器如下所示:
每当我ExtStorageDotNet
在我的 C# 应用程序中使用包装器时,一切正常,并且没有断言。但是,当我使用AltStorageDotNet
包装器并访问ExtStorageDotNet
包装器时,我会在关闭数据库时获得断言。这是测试套件的所有部分,我在其中为每个测试用例初始化一个实例并在每个测试用例之后关闭它;在新的测试用例开始之前,相关的数据库文件会被删除。我看不出它应该发生的任何原因,并且断言对追踪问题没有帮助。
c++ - LevelDB 与 std::map
在我们的应用程序中,我们使用std::map
存储(键、值)数据并使用序列化将数据存储在磁盘上。通过这种方法,我们发现磁盘 I/O 是性能瓶颈,使用 key 查找值并不是很快。
我遇到了 LevelDB 并考虑使用它。但我有一些问题。
- LevelDB 的文档说它是为 (string, string) 键值对制作的。这是否意味着我不能用于自定义键值对?
- 似乎
std::map
和 LevelDB 之间的区别在于 LevelDB 是持久的并且std::map
在内存中工作。那么这是否意味着磁盘 I/O 瓶颈对于 levelDB 来说会更成问题。
更具体地说,有人可以解释一下 LevelDB 是否是更好的选择std::map
吗?
PS:我尝试使用hash_map
s 但它似乎比std::map
c++ - 双精度浮点比较
我在这里有点困惑 - 当双打存储为不透明(二进制)字段时,双打的比较仍然可以正常工作吗?我面临的问题是双精度包括符号的前导位(即正或负),当它们存储为二进制数据时,我不确定它是否会被正确比较:
我想确保比较能够正常工作,因为我在 LevelDB 中使用双精度作为键元组(例如)的一部分,并且我想保留正数和负数的数据局部性。LevelDB 仅使用不透明字段作为键,但它允许用户指定他/她自己的比较器。但是,我只想确保我不指定比较器,除非我绝对需要:
c++ - leveldb 中的整数值
我想使用 leveldb 在 c++ 和 python 中有效地存储整数和整数数组。
对于 C++ 中的整数,我可以将 int 转换为 char 数组。在 c++ 中存储 int 数组以及在 python 中存储 int 和 int 数组有什么建议吗?
database - 整数键/值可以存储在 LevelDB 中吗?
我搜索了支持整数键和整数值的键值存储。LevelDB 似乎是一个不错的选择,但我找不到任何关于是否支持整数值/键的信息
key-value - LevelDB 快照能否在数据库关闭后继续存在?
我想知道 LevelDB 库的“快照”工具是否可以创建一个快照引用,即使在打开的数据库对象关闭后也可以保存该引用(因此可以在后续打开时重用)。
我怀疑不是,这导致了后续行动:是否有一种好的/推荐的方法来对数据库进行一致的备份作为快照即时,理想情况下即使其他活动仍在继续?(也就是说,没有通过 API 迭代整个快照键范围?)
(本质上,我正在寻找类似于通过某个检查点将 BerkeleyDB-JE 的仅附加 JDB 日志文件放在一边的东西。)
c++ - 在 leveldb 的包装类中链接静态方法
我尝试为 leveldb 编写一个包装类。基本上产生我的问题的头文件部分是(CLevelDBStore.h
:)
文件中对应的代码CLevelDBStore.cpp
为:
我现在尝试编译我的测试文件(test.cpp
),基本上是
请注意,我什至还没有使用包装类。只是为了产生编译错误。
汇编
产量
我查看了定义 leveldb::DB::Open 的 leveldb 代码,结果发现它是一个静态方法。
这会在链接时以某种方式产生问题吗?