ets、dets是两个系统模块,在erlang中可以高效存储海量数据。ETS的缩写是Erlang Term Storage(Erlang数据存储)的缩写,DETS则是Disk ETS(磁盘ETS)的缩写。今天我们来了解ETS和DETS的用法。
表的四种类型
保存的是元组,元组里的某一个元素(默认是第一个)被称为该表的键.通过键可以向表里插入和提取元组.分为四个基本的表类型
- 异键(set):即每个元组的键值不能相同
- 同键(bag):多个元组可以有相同的键值,但不能有两个完全相同的元组
- 有序异键(ordered set):排好序的set表
- 副本同键(duplicate bag):多个元组可以有相同的键值,且同一个元组可以在表中出现多次
对表的几个基本操作
- 创建一个新表或打开现有的表: 用ets:new或dets:open_file实现
- 向表里插入一个或多个元组: insert(TableId,X),其中X是一个元组或元组列表
- 在表里查找某个元组: lookup(TableId,Key) ,得到的结果是一个匹配key的元组列表
- 丢弃某个表: dets:close(TableId) 或 ets:delete(TableId).
创建一个表
ets:new(Name,[Opt]) -&