dets

模块说明

  • 提供基于文件的项式存储,项式以元组表示,其中某个位置为键,默认第1位置
  • Dets为Mniesia所用,后者增加了事务、查询、和分布式支持。
  • Dets文件不能超过2GB。
  • Dets只有set 、bag、 duplicate_bag 三种类型,没有ordered_set
  • 显示调用关闭或者打开的process终止时,都会关闭表。运行时系统意外终止会导致表格没有正确关闭,下次打开会修复。repair 默认为true
  • Dets基于磁盘,因此操作缓慢。可使用ram_file选项,把数据载入内存。
  • Dets默认auto_save 
  • Dets 把数据组织成线性哈希列表,当更多数据插入表格时,哈希列表会优雅的增长。
  • 空间管理通过完整驻留内存的buddy system。当表格严重碎片化,buddy system 占用更多内存。
  • 通过以{repair,force}重新打开表格,可以进行碎片整理
  • Dets文件的对象存储格式有2个版本。version 8 对应 OTP R7及之前。Version 9对应OTP R8及之后
  • 除了first/1 和 next/2 以异常退出,其他Dets 函数出错返回{error,Reason}
  • 当参数错误,所有函数都是badarg异常退出

导出函数

  • all()  :返回节点所有打开的表格名字列表,调试用?
原文地址:https://www.cnblogs.com/rubyist/p/erlang_stdlib_dets.html