问题标签 [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.

0 投票
1 回答
202 浏览

go - 如何基于levigo进行二次开发

当我完成它并尝试使用以下命令将其安装在我的系统上时,我对levigo进行了第二次开发:

它报告以下错误:

有人知道如何解决吗?

0 投票
2 回答
1731 浏览

python - 为什么使用 py-leveldb 的 WriteBatch 会导致内存泄漏?

因此,我正在编写一个 Python 脚本,用于使用 leveldb 数据库(py-leveldb)按地址索引比特币区块链,并且它会不断消耗越来越多的内存,直到崩溃。我在下面的代码示例中复制了该行为。当我运行代码时,它会继续使用越来越多的内存,直到耗尽我系统上的可用 RAM,并且进程要么被杀死,要么抛出“std::bad_alloc”。

难道我做错了什么?我一直在写入批处理对象,并每隔一段时间提交一次,但是即使我在 WriteBatch 对象中提交数据,内存使用量也会不断增加。我什至在提交后删除了 WriteBatch 对象,所以据我所知,这不可能是导致内存泄漏的原因。

我的代码是以错误的方式使用 WriteBatch 还是 py-leveldb 中存在内存泄漏?

代码需要 py-leveldb 才能运行,从这里获取:https ://pypi.python.org/pypi/leveldb

警告:如果运行时间足够长,运行此代码将耗尽您的内存。不要在关键系统上运行。此外,它会将数据写入与脚本运行所在文件夹相同的文件夹中,在我的系统上,该文件夹在内存耗尽之前包含大约 1.5GB 的数据库文件(最终消耗超过 3GB 的 RAM)。

这是代码:

0 投票
4 回答
4185 浏览

nosql - 在键值数据库中存储列表

我搜索在键值数据库中存储与键关联的列表的最佳方法(如berkleydbleveldb

例如:我有用户和用户之间的订单我想为每个用户存储订单 ID 列表,以便通过范围选择快速访问(用于分页)

如何存储这个结构?

我不想为每个用户以可序列化的格式存储它:

因为列表可能很长

我考虑为每个用户使用单独的数据库文件,并将商店订单 ID 作为其中的键,但这并不能解决范围选择问题。如果我想获取具有范围的用户 ID[5000:5050]怎么办?

我知道,但对诸如orredis之类的键值实现感兴趣。berkleydbleveldb

0 投票
1 回答
306 浏览

leveldb - leveldb源码中的mutex_.AssertHeld()是什么意思

最近看了leveldb的源码,源码url是https://leveldb.googlecode.com/files/leveldb-1.13.0.tar.gz

当我阅读 db/db_impl.cc 时,会出现以下代码:

我将它跟踪到文件 port/port_posix.h 中,我发现以下内容:

然后我在源目录中 grep,但再也找不到 AssertHeld() 的任何其他实现。所以这是我的问题,mutex_.AssertHeld() 在 db/db_impl.cc 中做了什么?谢谢

0 投票
1 回答
164 浏览

node.js - 每次都重新创建级别 DB 数据存储

我是网络应用程序开发的新手,仍在学习基础知识。我正在使用 nodejs 和 level db 开发一个基本应用程序。每次我重新启动我的 Web 应用程序时,都会重新创建 leveldb 数据存储,并且存储在其中的数据都消失了。

我的示例代码如下:

我的理解是,只有在缺少数据库时才会创建数据库。否则将使用现有数据库。就我而言,这没有发生..我做错了什么?

0 投票
1 回答
3774 浏览

ios - 使用最新的 iOS SDK 构建时的 Xcode 链接问题

我一直在为我的 iOS 应用程序使用Google 的 LevelDB库,我对此非常满意。最近我将整个项目迁移到了最新的 Xcode 5,虽然部署目标仍然是 iOS 6.1,但基础 SDK 现在是 iOS 7。

一切都很好,直到它进入链接阶段,它无法找到所需架构的 leveldb 符号,即使 leveldb 的静态库是使用-isysroot正确指向 iOS 7 SDK 的选项构建的。它像这样失败:

令人惊讶的是,如果我通过将 leveldb 的静态库指向旧的 iOS 6.1 SDK(为此我必须下载 Xcode 4.6、寻找 SDK 并将其存储在我的机器上的某个位置)来重建 leveldb 的静态库,链接工作正常。

所以,我的问题是,这是预期的行为吗?如果是这样,为什么?是否有可能/我必须改变什么才能不必保留旧版本的 iOS SDK 来构建这个库?

0 投票
1 回答
1114 浏览

go - level-db golang 实现覆盖现有值?

我正在尝试使用 leveldb-g 实现并遇到一些问题。

这是我的实现(基于此处的另一个答案

和一个测试:

哪个输出:

这就像写第二个属性(“property.different”)覆盖我已经在那里的值。我确定我在做一些愚蠢的事情,任何帮助将不胜感激。

编辑

我在 findOne 函数中添加了一些错误处理(感谢@miltonb),实际上我在那里遇到了一个错误,尽管我不知道该怎么做:

0 投票
1 回答
1780 浏览

java - 如何在 LevelDB 中存储关联实体列表

假设我有一个实体客户,它有许多实体产品。我正在寻找将这些信息存储在 LevelDB 中的最佳方式。

我曾考虑将这些数据编组到 xml/json 并保存到 LevelDB,但这需要付出努力,而且可能不是一个好方法。你能建议我其他解决方案吗?

0 投票
2 回答
2102 浏览

leveldb - 如何检查leveldb是否为空

假设您不知道 leveldb 数据库中的确切键。

我尝试插入 3 个键并在键范围上使用 GetApproximateSizes,结果始终为零。

那么如何检查 leveldb 中是否有任何键?

0 投票
1 回答
273 浏览

ubuntu - Riak node terminated with I/0 error

My riak nodes are terminating unexpectedly with the following error. This thing started to happen after i made the following change. That's the only change i did.

{riak_kv, [ {storage_backend, riak_kv_eleveldb_backend},

Error in crash.log

2013-11-17 08:51:54 =SUPERVISOR REPORT==== Supervisor: {local,riak_core_sup} Context: child_terminated Reason: {{function_clause,[{riak_kv_vnode,terminate,[{bad_return_value,{stop,{db_open,"IO error: ./data/leveldb/45671926166590716193865151022383844364247891968/MANIFEST-000002: Cannot allocate memory"}}},undefined],[{file,"src/riak_kv_vnode.erl"},{line,838}]},{riak_core_vnode,terminate,3,[{file,"src/riak_core_vnode.erl"},{line,849}]},{gen_fsm,terminate,7,[{file,"gen_fsm.erl"},{line,586}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,227}]}]},{gen_fsm,sync_send_event,[<0.2083.0>,wait_for_init,infinity]}} Offender: [{pid,<0.161.0>},{name,riak_core_vnode_manager},{mfargs,{riak_core_vnode_manager,start_link,[]}},{restart_type,permanent},{shutdown,5000},{child_type,worker}]

I started my riak nodes with the sudo access and nodes working properly after i started. Then after a couple of seconds nodes are terminating unexpectedly with the above error.

Any suggestions to solve this problem will be a great help. Thank You.