Erlang之ETS,DETS入门
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入门相关推荐
- erlang rebar 配置mysql_使用rebar构建erlang工程,手把手入门版
基础知识 1.erlang语言入门 看<>,更多细节需要看手册.然后手册也需要融会贯通,这一步比较费劲. 官方手册地址:点击打开链接 2.rebar构建工具 使得编写符合OTP框架的应用和 ...
- 基于Erlang语言的视频相似推荐系统 | 深度
作者丨gongyouliu 来源 | 转载自大数据与人工智能(ID:ai-big-data) [导语]:作者在上一篇文章<基于内容的推荐算法>中介绍了基于内容的推荐算法的实现原理.在本篇文 ...
- 2014值得期待的Erlang两本新书
在2014年的开头就有这样一个令人振奋的好消息,Erlang有一本新书即将出版 <The Erlang Runtime System>,其作者happi在2013年3月份发布了这本书的写作 ...
- Rust 和Erlang的对比
\ 本文要点: \\ Erlang提供轻量级流程.不变性.位置透明的分布式.消息传递.监督行为以及许多其他高级动态功能,这些特性使其成为容错.高可用性和可扩展系统的理想之选.\\t 不幸的是,在执行X ...
- Elang 学习笔记(二)
erlang的学习也算是告一段落了,要开始实战应用了. 当初学erlang的目的就是用来做DB API的. 可接受 HTTP, TCP, UDP的请求. 根据的erlang的特性,构思了一个初步的架构 ...
- Elixir 与 Go 对比 [翻译]
阅读时间: 16 分钟 之前一直做 Python 和 Rails(暂时代替 Ruby) 的开发. 这两种语言都有自己的优势,应用都很广泛,但也不乏有缺陷,最突出的问题莫过于性能了.所以,在高并发到来之 ...
- Spring 3.0 注解注入详解
Spring 3.0 注解注入详解 2011-04-15 09:44 17ZOUGUO ITEYE博客 我要评论(1) 字号:T | T AD: 一.各种注解方式 1.@Autowired注解(不推荐 ...
- linux远程桌面自启动,树莓派远程桌面配置-开机自启SSH
[转]PHP error_reporting() 错误控制函数功能详解 定义和用法: error_reporting() 设置 PHP 的报错级别并返回当前级别. 函数语法: error_repo ...
- golang 单协程和多协程的性能测试
测试数据:单协程操作1亿数据,以及多协程(10条协程)操作1亿数据(每条协程操作1kw数据) 废话少说,贴代码: 单协程测试运算: package mainimport ("fmt" ...
- Riak 简介(2)
第 2 部分: 将 Riak 集成为 Web 应用程序的重负荷缓存服务器 http://www.ibm.com/developerworks/cn/opensource/os-riak2/ 简介 某 ...
最新文章
- 北斗导航 | 精密单点定位软件之rtklib的静态定位测试(RTKlib)
- linux内核分成如下五个子系统,linux内核主要由5个子系统 Linux内核由哪几个子系统组成?...
- 人声处理_人声美化:人声后期处理方法
- 用户视图切换为Linux视图,视图_ITPUB博客
- Windows Xp Sp3简体中文补丁包下载地址
- 油猴超神好用脚本推荐
- Horizon8桌面虚拟化(一)
- matlab上机作业,matlab上机作业(数字信号处理)
- 利用漏洞溢出掉360安全卫士逆向分析
- “我,从油漆工开始的80后,曾经靠副业的收入买车买房”
- 网站安全防护方案--WEB应用防火墙
- java文件上传后台
- source test.sh、sh test.sh、./test.sh有什么区别
- 下列关于python运算符的使用描述正确的是_以下关于 Python 字符串的描述中,正确的是( )...
- 车票购买最低消费问题java_浅析12306售票算法(java版)
- clickhouse 数据TTL使用
- 数据管理基础-ch08-10
- 便携式液晶驱动板卡方案可支持1080P能驱动 HBR 4LANE EDP 接口的液晶面板有一个 miniHDMI 接口,两个 Type-C 信号接口。支持 HDR 高动态。
- GMap.net控件学习记录
- ApacheDS使用详细教程
热门文章
- 15个在线网站检测工具
- C# 多线程造成CPU占用率高解决办法
- 独木舟上的旅行java_独木舟上的旅行
- python多个文件打包成exe_多个py文件生成一个可运行exe文件
- 一篇文章带你了解网页框架——Vue简单入门
- Pytorch grid_sample解析
- 计算机水利工程制图教程,《水利工程制图》.pdf
- 你真的了解“手机端的 C/S架构 向 B/S架构 迁移”吗
- 计算机文档我的文档丢失,我的文档不见了
- c语言程序图像抠图,Opencv使用鼠标任意形状的抠图