erlang - 大多数情况下 DETS 的只读使用

标签 erlang ets dets

所以我一直在使用 ETS - 效果很好。但是,我将它用作路由数据的缓存 - 在模块加载时加载,并在进行更改时保存(读取的次数远远多于写入的次数)。

我认为 DETS 会让事情变得更加干净 - 我不必担心管理表的持久性。这是 DETS 的一个很好的用途吗? (大小不是问题,主要关心的是读取性能的大幅提高 - 所有数据都可以轻松放入内存中)。

最佳答案

在大多数情况下,DETS 比 ETS 慢得多,但我猜如果你的数据量很小,那么大多数情况下它会被磁盘缓存缓存,并且在你第二次读取它时检索会更快,所以最好重要的是根据您的使用类型进行尝试

但是您是否考虑过直接使用 Mnesia 而不是 ETS?使用 Mnesia 表类型 Disc_copies,您将获得 ETS 的速度和持久性

关于erlang - 大多数情况下 DETS 的只读使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4790090/

相关文章:

process - Erlang ETS 表与消息传递 : Optimization concerns?

erlang - 有没有一种方法可以在不使用字符串的情况下删除句子中的字符?

erlang - ets :new for unnamed tables 中 name 参数的原因

r - ets:ets(时间序列,模型 = "MAM")中的错误:非季节性数据

erlang - 当数据不适合内存时,适合 Erlang 应用程序的数据存储后端

erlang - erlang 中的截断错误报告

erlang - Erlang 是否适用于任何非 x86 处理器?

erlang进程间多播

Clojure 相当于 Erlang 的 DETS/Persistent-Maps