这个问题很广泛,这是我的具体背景:
- 我只使用
term_to_binary
将二进制文件转储到 postgresql,然后使用binary_to_term
读回 - 我不使用
term_to_binary
来生成任何标识符或比较数据。 - 我的数据类型只有(来自 Elixir)、map、list、string、number、nil、boolean。 (即没有函数,没有原子,没有结构)
为什么不用 jsonb?这太慢了。 Erlang 术语 <-> 二进制要快得多。 (超过 10 倍)
binary_to_term
是否总是能够读取任何以前版本的 term_to_binary
生成的二进制文件?
谢谢!
最佳答案
可以使用选项强制执行它,但不提供任何保证并且格式在一段时间内发生了变化但是 erlang始终提供读取旧格式的选项以实现向后兼容性。
关于erlang - erlang 的 `binary_to_term` 是否总是能够读取生成的二进制 `term_to_binary` 的任何先前版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68838300/