问题标签 [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.
xml - 打开一个 dbm 文件
我得到了一个名为 datamodel.dbm 的文件
在该文件中,有很多 XML。
它使用以下 XML 打开:
我是 SQL Server 小伙子,我相信这个文件与 PostGres 有关。
是否有工具可以打开此文件以呈现数据模型?该文件包含数百个包含所有元数据、关系等的表。但我无法打开它,除了 XML。
有没有办法打开这个文件并渲染数据模型,这样我就可以直观地看到它的样子?
python - Python,将变量索引添加到 dbm.dumb 模块
我在向 dbm.dumb 添加索引变量时遇到问题。我所说的索引变量是什么意思:
现在,当我尝试使用以下代码添加到它时:
我收到以下错误
我试过强制转换变量,所以它们是字符串,但它不会让它通过。我被困住了。
sql - 在一个小型数据库中保留几个 Lua 表?
我正在编写一个小型独立 Lua 工具,它使用树中的几个键/值对作为数据存储。我的原型使用 Lua 表,它们非常适合我的任务。然而,表条目不断变化和增长。对我来说,这似乎是将所有数据存储在数据库中的一个很好的理由。
许多较小的工具依赖于 SQLite 数据库,但我认为如果要存储中小型 Lua 表,必须有更好的(键值)解决方案。我读过关于用 SQL 存储树的文章,但乍一看这看起来很复杂。
是否有用于在数据库中存储和检索 Lua 表的KISS解决方案,可能与查询语言一起使用?
数据库仍然很小,应该是持久的,不需要处理并行查询。性能也没有问题,该工具仅供单用户使用。我更喜欢基于磁盘/文件的数据库。理想情况下,数据库的更新(查询/脚本)应受版本控制。
首先,我将 (G)dbm 视为可能的候选对象(参见此处),但我不知道一种简单且“可编写脚本”的方式来修改和创建新条目(就像使用 SQL 语句所做的那样)。
我想避免使用像 MongoDB 这样的成熟/基于服务器的解决方案或像 Neo4j 这样的 Graph DB,它们对于我手头的任务来说太过分了。
python - 搁置库对python中对象的限制
我一直在使用搁置以这种方式存储大量对象:
以字符串为键、列表为值的字典:
IE
或更简洁地说:
我从这个 .db 文件中提取并导出到另一个 .db 文件,因此行业是关键,列表包含股票代码。
据我所知,该文件写得很好,它正在检索我的问题的数据。
来自文档: “如果使用数据库,数据库也(不幸地)受到 dbm 的限制 - 这意味着存储在数据库中的对象(腌制表示)应该相当小,并且在极少数情况下会发生键冲突可能会导致数据库拒绝更新。”
但即使有文档,我也找不到任何关于dbm限制的信息。原因一定是因为我作为值存储的列表太大。
这是一段代码摘录:
和错误/输出:
我见过其他人遇到导致相同错误的问题,但他们使用的是 7.4.1 之前的 Python 版本,我认为他们的错误是由不同的原因引起的。 Python搁置模块问题
那么,我的问题:
dbm有什么限制?
有没有办法修复搁置中的大对象(包含大列表作为值的字典)?
如果不是,如果我不想将数据保存在 RAM 中,有什么更好的方法来存储数据?(这是我认为使用 Shelve 的目的)
java - android - 检测低网络信号,依赖哪个值
我想检测用户在一段时间内(例如 5 分钟)处于低接收(低网络信号)的地方的情况,我想知道要依赖什么值。
我现在拥有的是:
查看 dbm 值 - 大部分时间似乎是85 - 这意味着接收良好,而当去接收低的地方时,它会得到负值。从这个答案中,我了解到 dbm 的负值意味着接收率低 - 但它不是负数,它只是意味着您的设备非常敏感。(见答案表)。
此外,dbm 值似乎因设备而异。
查看signalStrength.getLevel()
,它会告诉您那里有多少个接待栏,这看起来是个不错的选择。
考虑到这一点,这SignalStrength
是一个具有很多值的类,我只是想知道在一段时间内测试低信号的最可靠方法是什么,看看人们是否有这方面的经验。
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 无法处理这个,而它可以处理空值。
虽然上面的代码适用于以下输入:
或者
我尝试了很多东西,但没有任何效果。有没有人有任何解决方法?
python - 在 python 中处理压缩(任何)dbm 文件的秘诀
我有一个大的 dbm 文件,它正在由我的 python 程序创建和使用。它节省了大量的 RAM,但它变得越来越大,我怀疑我必须尽快对其进行 gzip 压缩以减少占用空间。
我想使用将涉及将其解压缩到磁盘,使用它,并在我完成后擦除提取的 dbm。
我想知道是否可能存在一些压缩 dbm 并以某种方式继续使用它的好方法。在我的特定用例中,我只需要从中读取。
谢谢。
macos - 设备多久发送一次 wifi 探测请求?
当设备启用 wifi 时,它会发出一个 wifi 探测请求,其中包含您的信号强度、SSID 和 MAC 地址。我想知道,设备多久发送一次此请求?
听说当一个设备连接到wifi时,每次发出这个请求都会加倍时间。
python - 进程需要很长时间才能终止,卡在一个 munmap 流中
我cron
在 Linux 机器上有一个 Python 2.7 进程(由 开始),需要很长时间(10分钟)才能终止。在运行时,它使用大量内存 (25GB),并且似乎需要很长时间才能释放它。
strace
报道源源不断
ltrace
什么都不报告。
虽然它还活着,但它使用了 GDBM 数据库,但很久以前就关闭了。打开的文件描述符是:
它不会向日志文件写入任何内容。
这里发生了什么?那是Python GC的产物吗?GDBM?
我能做些什么(除了kill
)?