1.什么是ETS,DETS?

是一种用于存储存储元组的系统模块,erl自带的,在理论上来说他们可以存储无限数据,只要你有足够的存储空间,那ets和dets有什么不同呢,ets用的是内存存储,dsets用的是磁盘存储,前者的存取速度更快,但是它并不能长期存储,意思是只要erl程序一结束,它所存的数据就会丢弃,但ets却不会,若重启后,会检查一致性,若发现有误,会尝试性修复。

2.ETS

1.创建表 TableId = ets:new(Name,[Opt]).

1.首先表一共有4种set,ordered_set,bag,duplicate_bag.

set:每个键只能出现一次,后一个插入会覆盖前一个。

ordered_set:和set唯一不一样的它的键值是有序的,按字典序的大小排序。

bag:可以有2个或以上的相同键的不同值的原组。

duplicate_bag:可以有同键同值的元组。

2.其次表有3种权限

private:只有主管程序可以对它进行读写

public:所有知道该表标示的程序都可以进行读和写

protected:所有知道该表标示的都可以进行读,但是只有主程可以进行写,这个模式很好。

2.插入 ets:insert(TableId,{Key,Value})  -> true

3.查找 ets:lookup(TableId,Key) -> Value | []

4.得到一个列表 ets:tab2list(TableId) -> List

5.删除表 ets:delete:(TableId) -> true | expection error

6.底层原理:

除了ordered_set是用平衡树二叉树构成以外,其他都是用散列表构建的,这意味着ordered_set的空间复杂度会更少,插入时间复杂度恒定,而其他表插入的时间复杂度会随着数据量的增多而增多。

2.DSETS

1.创建表 dets:open_file(filename,[Opt])

1.首先一共有3种类型

set    bag    duplicate bag解释和ETS一样。

2.访问权限

只要open_file指定对应的文件路径,就可以共享文件

3.其余操作和ets一样

Erlang之ETS,DETS入门相关推荐

  1. erlang rebar 配置mysql_使用rebar构建erlang工程,手把手入门版

    基础知识 1.erlang语言入门 看<>,更多细节需要看手册.然后手册也需要融会贯通,这一步比较费劲. 官方手册地址:点击打开链接 2.rebar构建工具 使得编写符合OTP框架的应用和 ...

  2. 基于Erlang语言的视频相似推荐系统 | 深度

    作者丨gongyouliu 来源 | 转载自大数据与人工智能(ID:ai-big-data) [导语]:作者在上一篇文章<基于内容的推荐算法>中介绍了基于内容的推荐算法的实现原理.在本篇文 ...

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

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

  4. Rust 和Erlang的对比

    \ 本文要点: \\ Erlang提供轻量级流程.不变性.位置透明的分布式.消息传递.监督行为以及许多其他高级动态功能,这些特性使其成为容错.高可用性和可扩展系统的理想之选.\\t 不幸的是,在执行X ...

  5. Elang 学习笔记(二)

    erlang的学习也算是告一段落了,要开始实战应用了. 当初学erlang的目的就是用来做DB API的. 可接受 HTTP, TCP, UDP的请求. 根据的erlang的特性,构思了一个初步的架构 ...

  6. Elixir 与 Go 对比 [翻译]

    阅读时间: 16 分钟 之前一直做 Python 和 Rails(暂时代替 Ruby) 的开发. 这两种语言都有自己的优势,应用都很广泛,但也不乏有缺陷,最突出的问题莫过于性能了.所以,在高并发到来之 ...

  7. Spring 3.0 注解注入详解

    Spring 3.0 注解注入详解 2011-04-15 09:44 17ZOUGUO ITEYE博客 我要评论(1) 字号:T | T AD: 一.各种注解方式 1.@Autowired注解(不推荐 ...

  8. linux远程桌面自启动,树莓派远程桌面配置-开机自启SSH

    [转]PHP error_reporting() 错误控制函数功能详解 定义和用法: error_reporting() 设置 PHP 的报错级别并返回当前级别.   函数语法: error_repo ...

  9. golang 单协程和多协程的性能测试

    测试数据:单协程操作1亿数据,以及多协程(10条协程)操作1亿数据(每条协程操作1kw数据) 废话少说,贴代码: 单协程测试运算: package mainimport ("fmt" ...

  10. Riak 简介(2)

    第 2 部分: 将 Riak 集成为 Web 应用程序的重负荷缓存服务器  http://www.ibm.com/developerworks/cn/opensource/os-riak2/ 简介 某 ...

最新文章

  1. 北斗导航 | 精密单点定位软件之rtklib的静态定位测试(RTKlib)
  2. linux内核分成如下五个子系统,linux内核主要由5个子系统 Linux内核由哪几个子系统组成?...
  3. 人声处理_人声美化:人声后期处理方法
  4. 用户视图切换为Linux视图,视图_ITPUB博客
  5. Windows Xp Sp3简体中文补丁包下载地址
  6. 油猴超神好用脚本推荐
  7. Horizon8桌面虚拟化(一)
  8. matlab上机作业,matlab上机作业(数字信号处理)
  9. 利用漏洞溢出掉360安全卫士逆向分析
  10. “我,从油漆工开始的80后,曾经靠副业的收入买车买房”
  11. 网站安全防护方案--WEB应用防火墙
  12. java文件上传后台
  13. source test.sh、sh test.sh、./test.sh有什么区别
  14. 下列关于python运算符的使用描述正确的是_以下关于 Python 字符串的描述中,正确的是( )...
  15. 车票购买最低消费问题java_浅析12306售票算法(java版)
  16. clickhouse 数据TTL使用
  17. 数据管理基础-ch08-10
  18. 便携式液晶驱动板卡方案可支持1080P能驱动 HBR 4LANE EDP 接口的液晶面板有一个 miniHDMI 接口,两个 Type-C 信号接口。支持 HDR 高动态。
  19. GMap.net控件学习记录
  20. ApacheDS使用详细教程

热门文章

  1. 15个在线网站检测工具
  2. C# 多线程造成CPU占用率高解决办法
  3. 独木舟上的旅行java_独木舟上的旅行
  4. python多个文件打包成exe_多个py文件生成一个可运行exe文件
  5. 一篇文章带你了解网页框架——Vue简单入门
  6. Pytorch grid_sample解析
  7. 计算机水利工程制图教程,《水利工程制图》.pdf
  8. 你真的了解“手机端的 C/S架构 向 B/S架构 迁移”吗
  9. 计算机文档我的文档丢失,我的文档不见了
  10. c语言程序图像抠图,Opencv使用鼠标任意形状的抠图