ets erlang数据存储 常驻内存
dets 磁盘ets 常驻磁盘 DETS的最大文件大小是2GB DETS必须打开才能使用,用完后还应该正确关闭。
ets 和 dets 表是把键值关联到一起的数据结构。常用操作是插入和查找 两者其实就是erlang元组的集合
ets 和 dets是保存的都是元组。元组里的某一个(默认第一个)被称为该表的键。通过键来向表里插入和提取元组。
异键表:表里所有的键都是唯一的。 有序异键 表里的元组会被排序
同键表:允许多个元素拥有相同的键。
set 普通异键表 ordered_set 有序异键表(进行过排序)
bag 普通同键表(出现同键值的数据会被后者覆盖) duplicate_bag 允许出现键值相同的同键表
创建一个ets表
ets:new(Name,[Opt]) name是原子 返回:TableId
Opt
set | ordered_set | bag | duplicate_bag
private 私有表 只有主管进程才能操作它
public 公有表 任何知道此表标示符(tableId)的进程都能操作它
protectess 受保护的表 任何进程都能读它 但只有主管进程才能进行读写
named_table name 可以被用于后续的表操作
Tabid=ets:new(test,[]). 新建名为name的ets表,返回Tabid
ets:insert(Tabid,{a,[1,2,3,4,5,6,7]}). 向Tabid表里插入数据
ets:lookup(Tabid,a). 查找键的值为a的数据
ets:delete(Tabid). 删除Tabid表
dets 磁盘ets 常驻磁盘 DETS的最大文件大小是2GB DETS必须打开才能使用,用完后还应该正确关闭。
ets 和 dets 表是把键值关联到一起的数据结构。常用操作是插入和查找 两者其实就是erlang元组的集合
ets 和 dets是保存的都是元组。元组里的某一个(默认第一个)被称为该表的键。通过键来向表里插入和提取元组。
异键表:表里所有的键都是唯一的。 有序异键 表里的元组会被排序
同键表:允许多个元素拥有相同的键。
set 普通异键表 ordered_set 有序异键表(进行过排序)
bag 普通同键表(出现同键值的数据会被后者覆盖) duplicate_bag 允许出现键值相同的同键表
创建一个ets表
ets:new(Name,[Opt]) name是原子 返回:TableId
Opt
set | ordered_set | bag | duplicate_bag
private 私有表 只有主管进程才能操作它
public 公有表 任何知道此表标示符(tableId)的进程都能操作它
protectess 受保护的表 任何进程都能读它 但只有主管进程才能进行读写
named_table name 可以被用于后续的表操作
{keypos,K} 用K作为键的位置
例子:
Tabid=ets:new(test,[]). 新建名为name的ets表,返回Tabid
ets:insert(Tabid,{a,[1,2,3,4,5,6,7]}). 向Tabid表里插入数据
ets:lookup(Tabid,a). 查找键的值为a的数据
ets:delete(Tabid). 删除Tabid表