相同点:ets和dets都提供“键—值”搜索表

不同点:ets驻留在内存,dets驻留在磁盘

特点:ets表和dets表可以被多个进程共享,因此通过这两个模块可以实现数据间的交换

一  ets表

实现原理:散列表和二叉树

表的类型:

(1)集合set,集合中每个关键字只出现一次

(2)有序集合(Ordered set),集合中的关键字只出现一次,但是其元素的顺序按照关键字的字典顺序存储

(3)袋Bag, 允许不同记录对应同一个关键字,

(4)复袋,一个复袋允许包含重复的元素和关键字

比较:集合和袋提供恒定的存取时间,有序集合的存取时间与表数据量对数相关

操作:

创建表:ets:new(Name, [Opts]) -> TableId.

插入表:ets:insert/2

查询数据:ets:lookup/2

ets筛选:

-include_lib("stdlib/include/ms_transform.hrl").

ets:fun2ms() %% 生成选择规约

ets:select/2

ets dets的更多相关文章

  1. erl0003-ets 几种类型的区别和ets效率建议 <转>

    rlang内置大数据量数据库 ets,dets 初窥 发布日期:2011-10-24 18:45:48   作者:dp studio ets是Erlang term storage的缩写, dets则 ...

  2. erl0002-erlang ets学习笔记

    ets全称“erlang term storage” erlang项式存储. ets打破了erlang“不变数据”的原则,使得进程之间可以共享数据.首先引起的思考是为什么会出现ets?下面是对网络资料 ...

  3. [Erlang 0115] 2014值得期待的Erlang两本新书

    在2014年的开头就有这样一个令人振奋的好消息,Erlang有一本新书即将出版 <The Erlang Runtime System>,其作者happi在2013年3月份公布了这本书的写作 ...

  4. erlang 分布式数据库Mnesia 实现及应用

    先推荐一篇:mnesia源码分析(yufeng)   - linear hash   ETS/DETS/mnesia 都使用了linear hash算法 http://en.wikipedia.org ...

  5. erlang代码片段

    转载自http://blog.csdn.net/sw2wolf/article/details/6797708 .列表操作 lists:foreach(fun(X) -> io:format(& ...

  6. 2014值得期待的Erlang两本新书

    在2014年的开头就有这样一个令人振奋的好消息,Erlang有一本新书即将出版 <The Erlang Runtime System>,其作者happi在2013年3月份发布了这本书的写作 ...

  7. Erlang标准数据结构的选择

    Erlang标准数据结构的选择(金庆的专栏)gen_server with a dict vs mnesia table vs etshttp://stackoverflow.com/question ...

  8. Erlang ETS Table

    不需要显示用锁,插入和查询时间不仅快而且控制为常量,这就是Erlang的ETS Table. 为什么而设计? Erlang中可以用List表达集合数据,但是如果数据量特别大的话在List中访问元素就会 ...

  9. Erlang模块ets翻译

    概要: 内置的存储 描述: 这个模块是Erlang内置存储BIFs的接口.这些提供了在Erlang运行时系统中存储大量数据的能力,并且能够对数据进行持续的访问时间.(在ordered_set的情况下, ...

随机推荐

  1. [51NOD1087]1 10 100 1000(规律,二分)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1087 用高中的数列知识就可以推出公式,不难发现f(n)=f(n ...

  2. webhdfs追加写HDFS异常

    问题 {:timestamp=>"2015-03-04T00:02:47.224000+0800", :message=>"Retrying webhdfs ...

  3. HDU 4324 (拓扑排序) Triangle LOVE

    因为题目说了,两个人之间总有一个人喜欢另一个人,而且不会有两个人互相喜欢.所以只要所给的图中有一个环,那么一定存在一个三元环. 所以用拓扑排序判断一下图中是否有环就行了. #include <c ...

  4. HDU 2870 Largest Submatrix

    这三道题的关系是这样的,1505是1506的加强版,2870又是1505的加强版 如果按照上面由简到易的顺序来做的话,还是很简单的 这道题的思想就是 枚举+DP 因为某些字符可以变值,所以我们枚举a, ...

  5. UIPikerView

    UIPikerView的属性 1.   numberOfComponents:返回UIPickerView当前的列数 NSInteger num = _pickerView.numberOfCompo ...

  6. hadoop DataNode实现分析

    在前面说hadoop整体实现的时候, 说过DataNode的需要完成的首要任务是K-V存储.                                            第二个功能是 完成和 ...

  7. android linux shell 日期设置

    /************************************************************************ android linux shell 日期设置 * ...

  8. SAS Config文件 处理流程

    Processing Options Specified by Additional CONFIG Options You can also specify additional –CONFIG op ...

  9. 一起学CUDA(零)

    1.Nvidia为什么引入CUDA最近实验室已经有不少豪在入手本本了,因为学霸居多,所以大家一般都会说对显卡要求不高,不玩大型游戏,只是CPU不能差,Intel I7.3G的主频…… 其 实现在CPU ...

  10. 加密app.config

    EncryptConnection.EncryptConnectionString(true); public static class EncryptConnection { public stat ...