问题标签 [dets]

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 投票
2 回答
174 浏览

erlang - 为什么删除所有键后dets file_size不会减小

我遇到了 dets 文件大小的问题。

插入后-{size,10000}, {file_size,769748}
删除 后- {size,0}, {file_size,770092}
即使表为空,文件大小也没有减少。但是,当我执行时delete_all_objects,文件大小恢复正常。

我不明白我还需要做什么以及删除操作以减少文件大小。问题是,由于dets file_size 限制为4gb,即使删除了对象,我也达到了dets 文件的大小限制。

0 投票
1 回答
135 浏览

erlang - 在erlang中进行一些操作后如何正确关闭dets表?

我有一个函数可以检查给定的用户名是否已经存在于 dets 表中:

我在另一个模块中调用它,我总是得到错误,最后一行的问题,因为当我删除它时,该函数工作正常。我是否正确关闭了桌子?

0 投票
1 回答
269 浏览

erlang - Erlang 的 dets 不使用 open_file 创建文件

这是我第一次尝试用 Erlang 编写任何东西,所以这个问题可能很愚蠢。

我正在使用牛仔编写一个非常简单的 HTTP 服务器

这个想法是一个 POST HTTP 请求包含一个带有一些链接的“链接”标头。在收到这样的请求后,我的服务器应该将它的散列连同链接及其时间戳一起存储在 dets 表中。问题是没有创建“DB_test”文件。为什么?

0 投票
0 回答
745 浏览

elixir - 设置/拆卸在 elixir 中的每个测试之间设置表格?

我们试图在完全干净的 dets 环境中运行每个测试,每个测试都负责自己的设置。我们遇到了无法在测试之间完全删除目录的问题。

我们怎样才能重置dets?我们是否错误地认为清除整个目录并重新启动应用程序就足够了?在运行之间删除所有记录会更好吗?

认为:

  • async: true没有为任何测试设置。
  • dets是必须的
  • 大多数已回答的代码应该(如果可能的话)在长生不老药中,而不是在 erlang 中。

示例代码:

以及拆卸功能的胆量......

运行时的示例错误mix test是标准输出显示:

dets: file "dets/event_listener_stream_positions_test" not properly closed, repairing ...但不是错误,只是定期输出到控制台。

然后是测试中的实际失败: ** (File.Error) could not remove files and directories recursively from "dets": file already exists

0 投票
2 回答
395 浏览

debugging - 如何在实时应用程序上检查 DETS?

我是 Erlang 的新手,但我想知道是否有可能以某种方式附加到工作应用程序并检查它正在使用的 ETS 或 DETS。如果是,你愿意举一个小例子吗?

谢谢!

0 投票
1 回答
79 浏览

erlang - dets 是否会使用 ram_file 选项在查找时执行磁盘读数?

ram_fileDETS Erlang 文档中描述了一个选项

open_file(name, args)

{ram_file, boolean()}- 表是否保存在 RAM 中。将表保留在 RAM 中听起来像是一种反常现象,但可以提高打开表、插入一组对象然后关闭表的应用程序的性能。当表关闭时,其内容被写入磁盘文件。默认为false.

这将在插入或更新后在磁盘上执行保存

如果我使用打开 - 然后查找 - 然后关闭怎么办?