record作为erlang的一种数据结构(特殊的Tuple,类似数组),通常用于函数量传递.
我们也可以选择ETS内存表作为存放record,Ets非常适合大量临时数据存储,最重要
的是ETS可以和record进行无逢结合.
%%在Eshell下声明record users
1 |
1> rd(users, {uid,website= "t.qq.com/lajabs" ,name,time=time()}).
|
%%对ets建表,并创建以record元素uid作为索引键,以下的增删改查都将使用它
1 |
2> ets:new (users,[public,set,named_table,{keypos, #users.uid}]).
|
[/erlang]
%%创建record,并对元素赋值
1 |
3> Users =#users{uid=101,name=lajabs}.
|
2 |
#users{uid = 101,website= "t.qq.com/lajabs" ,name = lajabs,
|
%%将创建好的record存入ets
1 |
4> ets:insert (users, Users ).
|
%%创建第二个record
1 |
5> Users2 =#users{uid=102,name=laja2}.
|
2 |
#users{uid = 102,website= "t.qq.com/lajabs" ,name = laja2,
|
%%把record users也存入ets,这时users表中有2笔记录
1 |
6> ets:insert (users, Users2 ).
|
%%尝试查询uid(索引键)为102的记录,成功返回record(之前定义的变量Users2),需要注意返回的是列表(带[])
1 |
7> ets:lookup (users,102).
|
2 |
[#users{uid = 102,website= "t.qq.com/lajabs" ,name = laja2,
|
%%对ets更新record,将元素name改为’hello’
1 |
8> ets:update_element (users,102,{#users.name, hello}).
|
%%查看修改后的结果,发现已经更改成功
1 |
9> ets:lookup (users,102).
|
2 |
[#users{uid = 102,website= "t.qq.com/lajabs" ,name = hello,
|
%%删除uid(索引键)为102的记录
1 |
10> ets:delete (users,102).
|
%%查看结果,已删除成功,返回的是空列表[]
1 |
11> ets:lookup (users,102).
|
%%查询记录中的某个元素值可以用以下方式
1 |
12> ets:lookup_element (users,101,#users.name).
|
分享到:
相关推荐
NULL 博文链接:https://ZacMa.iteye.com/blog/1976833
The viability of implementing an in-memory database, Er- lang ETS, using a relatively-new data structure, called a Judy array, was studied by comparing the performance of ETS tables based on four data...
主要介绍了Erlang中的Record详解,本文讲解了定义Record、创建Record、访问Record、更新Record、匹配Record和Guard语句、使用Record等内容,需要的朋友可以参考下
rabbitmq和erlang,rabbitmq和erlang,rabbitmq和erlang,rabbitmq和erlang,rabbitmq和erlang,rabbitmq和erlang,rabbitmq和erlang,rabbitmq和erlang,rabbitmq和erlang
扩展实现Erlang的全局ets, 来自互联网上一个尚未完成的开源项目。 本人开发完善了差不多所有功能。 欢迎下载使用。
概要该项目允许通过 http 查询 Erlang ETS 表,以便其他语言/机制可以轻松获取数据库结果。例子该项目可以作为依赖项包括在内。 它在每个应用程序 env http_port的指定端口上启动牛仔应用程序,或者让底层操作系统...
ErlangB和ErlangC计算工具(exe可执行文件+excel两个) ErlangB和ErlangC计算工具(exe可执行文件+excel两个)
erlang的timer和实现机制 Erlang程序设计
rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平台上。
erlang入门电子书 erlang编程 Introducing Erlang,作者Simon.St.Laurent
书中兼顾了顺序编程、并发编程和分布式编程,重点介绍如何编写并发和分布式的Erlang程序以及如何在多核CPU上自动加速程序,并深入地讨论了开发Erlang应用中至关重要的文件和网络编程、OTP、ETS和DETS等主题。...
erlang 安装包
Erlang的高级特性和应用Erlang的高级特性和应用
Erlang及其应用Erlang及其应用Erlang及其应用
安装Erlang和RabbitMQ,linux系统下的哦,有红色字体标注!已踩坑
erlang25.0 windows版本
esl-erlang_23.0和rabbitmq-3.8.4windows版本 直接下载安装就行,可以直接下载就可安装,非常的方便 ,欢迎大家下载 注意事项: 1. Erlang版本和RabbitMQ版本要配套 (Erlang23.0, RabbitMQ3.8.4) 2. amd芯片请乖乖...
erlang otp25 win安装包
erlang22最新下载包 erlang22.1.tar.gz erlang22最新下载包 erlang22最新下载包