问题标签 [dbm]

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 回答
1825 浏览

xml - 打开一个 dbm 文件

我得到了一个名为 datamodel.dbm 的文件

在该文件中,有很多 XML。

它使用以下 XML 打开:

我是 SQL Server 小伙子,我相信这个文件与 PostGres 有关。

是否有工具可以打开此文件以呈现数据模型?该文件包含数百个包含所有元数据、关系等的表。但我无法打开它,除了 XML。

有没有办法打开这个文件并渲染数据模型,这样我就可以直观地看到它的样子?

0 投票
1 回答
197 浏览

python - Python,将变量索引添加到 dbm.dumb 模块

我在向 dbm.dumb 添加索引变量时遇到问题。我所说的索引变量是什么意思:

现在,当我尝试使用以下代码添加到它时:

我收到以下错误

我试过强制转换变量,所以它们是字符串,但它不会让它通过。我被困住了。

0 投票
1 回答
761 浏览

sql - 在一个小型数据库中保留几个 Lua 表?

我正在编写一个小型独立 Lua 工具,它使用树中的几个键/值对作为数据存储。我的原型使用 Lua 表,它们非常适合我的任务。然而,表条目不断变化和增长。对我来说,这似乎是将所有数据存储在数据库中的一个很好的理由。

许多较小的工具依赖于 SQLite 数据库,但我认为如果要存储中小型 Lua 表,必须有更好的(键值)解决方案。我读过关于用 SQL 存储树的文章,但乍一看这看起来很复杂。

是否有用于在数据库中存储和检索 Lua 表的KISS解决方案,可能与查询语言一起使用?

数据库仍然很小,应该是持久的,不需要处理并行查询。性能也没有问题,该工具仅供单用户使用。我更喜欢基于磁盘/文件的数据库。理想情况下,数据库的更新(查询/脚本)应受版本控制。

首先,我将 (G)dbm 视为可能的候选对象(参见此处),但我不知道一种简单且“可编写脚本”的方式来修改和创建新条目(就像使用 SQL 语句所做的那样)。

我想避免使用像 MongoDB 这样的成熟/基于服务器的解决方案或像 Neo4j 这样的 Graph DB,它们对于我手头的任务来说太过分了。

0 投票
0 回答
520 浏览

python - 搁置库对python中对象的限制

我一直在使用搁置以这种方式存储大量对象:

以字符串为键、列表为值的字典:

IE

或更简洁地说:

我从这个 .db 文件中提取并导出到另一个 .db 文件,因此行业是关键,列表包含股票代码。

据我所知,该文件写得很好,它正在检索我的问题的数据。

来自文档: “如果使用数据库,数据库也(不幸地)受到 dbm 的限制 - 这意味着存储在数据库中的对象(腌制表示)应该相当小,并且在极少数情况下会发生键冲突可能会导致数据库拒绝更新。”

但即使有文档,我也找不到任何关于dbm限制的信息。原因一定是因为我作为值存储的列表太大。

这是一段代码摘录:

和错误/输出:

我见过其他人遇到导致相同错误的问题,但他们使用的是 7.4.1 之前的 Python 版本,我认为他们的错误是由不同的原因引起的。 Python搁置模块问题

那么,我的问题:

dbm有什么限制?

有没有办法修复搁置中的大对象(包含大列表作为值的字典)?

如果不是,如果我不想将数据保存在 RAM 中,有什么更好的方法来存储数据?(这是我认为使用 Shelve 的目的)

0 投票
1 回答
252 浏览

java - android - 检测低网络信号,依赖哪个值

我想检测用户在一段时间内(例如 5 分钟)处于低接收(低网络信号)的地方的情况,我想知道要依赖什么值。

我现在拥有的是:

查看 dbm 值 - 大部分时间似乎是85 - 这意味着接收良好,而当去接收低的地方时,它会得到负值。从这个答案中,我了解到 dbm 的负值意味着接收率低 - 但它不是负数,它只是意味着您的设备非常敏感。(见答案表)。

此外,dbm 值似乎因设备而异。

查看signalStrength.getLevel(),它会告诉您那里有多少个接待栏,这看起来是个不错的选择。

考虑到这一点,这SignalStrength是一个具有很多值的类,我只是想知道在一段时间内测试低信号的最可靠方法是什么,看看人们是否有这方面的经验。

0 投票
2 回答
140 浏览

json - DBM::Deep 无法导入具有“真”或“假”值的 hashref

我的JSON文字如下:

测试.json

我想DBM::Deep为上面的 JSON 创建哈希。我的代码如下所示:

数据库文件

执行上述代码时,我得到以下输出/错误:

错误

$VAR1 = { 'a' => bless(do{(my $o = 0)}, 'JSON::XS::Boolean' ) }; 错误:DBM::Deep:不支持“SCALAR”类型的引用存储。在 dbm.pl 第 26 行

看起来,JSON 在内部使用 JSON::XS 来转换 JSON::XS::Boolean 对象中的“真”值,而 DBM::Deep 无法处理这个,而它可以处理空值。

虽然上面的代码适用于以下输入:

或者

我尝试了很多东西,但没有任何效果。有没有人有任何解决方法?

0 投票
1 回答
121 浏览

python - 同步但不关闭 dbm

这样做有问题吗:

并在睡眠期间用CTRL+中断程序,即不会正确关闭Cdumbdbm

dumbdbm.sync ()是否足以保证数据的安全性,还是.close()绝对强制性的?

0 投票
1 回答
100 浏览

python - 在 python 中处理压缩(任何)dbm 文件的秘诀

我有一个大的 dbm 文件,它正在由我的 python 程序创建和使用。它节省了大量的 RAM,但它变得越来越大,我怀疑我必须尽快对其进行 gzip 压缩以减少占用空间。

我想使用将涉及将其解压缩到磁盘,使用它,并在我完成后擦除提取的 dbm。

我想知道是否可能存在一些压缩 dbm 并以某种方式继续使用它的好方法。在我的特定用例中,我只需要从中读取。

谢谢。

0 投票
1 回答
6277 浏览

macos - 设备多久发送一次 wifi 探测请求?

当设备启用 wifi 时,它会发出一个 wifi 探测请求,其中包含您的信号强度、SSID 和 MAC 地址。我想知道,设备多久发送一次此请求?

听说当一个设备连接到wifi时,每次发出这个请求都会加倍时间。

0 投票
0 回答
460 浏览

python - 进程需要很长时间才能终止,卡在一个 munmap 流中

cron在 Linux 机器上有一个 Python 2.7 进程(由 开始),需要长时间(10分钟)才能终止。在运行时,它使用大量内存 (25GB),并且似乎需要很长时间才能释放它。

strace报道源源不断

ltrace什么都不报告。

虽然它还活着,但它使用了 GDBM 数据库,但很久以前就关闭了。打开的文件描述符是:

它不会向日志文件写入任何内容。

这里发生了什么?那是Python GC的产物吗?GDBM?

我能做些什么(除了kill)?