erlang学习笔记:ets和dets

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 可以被用于后续的表操作


{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表


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值