ets结合record的增删改查操作
来源:互联网 发布:人民网三评算法推荐 编辑:程序博客网 时间:2024/05/18 23:25
record作为erlang的一种数据结构(特殊的Tuple,类似数组),通常用于函数量传递.
我们也可以选择ETS内存表作为存放record,Ets非常适合大量临时数据存储,最重要
的是ETS可以和record进行无逢结合.
%%在Eshell下声明record users
1> rd(users, {uid,website="t.qq.com/lajabs",name,time=time()}).
users
%%对ets建表,并创建以record元素uid作为索引键,以下的增删改查都将使用它
2> ets:new(users,[public,set,named_table,{keypos, #users.uid}]).
users
%%创建record,并对元素赋值
3> Users=#users{uid=101,name=lajabs}.
#users{uid = 101,website="t.qq.com/lajabs",name = lajabs,
time = {16,48,32}}
%%将创建好的record存入ets
4> ets:insert(users,Users).
true
%%创建第二个record
5> Users2=#users{uid=102,name=laja2}.
#users{uid = 102,website="t.qq.com/lajabs",name = laja2,
time = {16,49,16}}
%%把record users也存入ets,这时users表中有2笔记录
6> ets:insert(users,Users2).
true
%%尝试查询uid(索引键)为102的记录,成功返回record(之前定义的变量Users2),需要注意返回的是列表(带[])
7> ets:lookup(users,102).
[#users{uid = 102,website="t.qq.com/lajabs",name = laja2,
time = {16,49,16}}]
%%对ets更新record,将元素name改为'hello'
8> ets:update_element(users,102,{#users.name, hello}).
true
%%查看修改后的结果,发现已经更改成功
9> ets:lookup(users,102).
[#users{uid = 102,website="t.qq.com/lajabs",name = hello,
time = {16,49,16}}]
%%删除uid(索引键)为102的记录
10> ets:delete(users,102).
true
%%查看结果,已删除成功,返回的是空列表[]
11> ets:lookup(users,102).
[]
%%查询记录中的某个元素值可以用以下方式
12> ets:lookup_element(users,101,#users.name).
lajabs
我们也可以选择ETS内存表作为存放record,Ets非常适合大量临时数据存储,最重要
的是ETS可以和record进行无逢结合.
%%在Eshell下声明record users
1> rd(users, {uid,website="t.qq.com/lajabs",name,time=time()}).
users
%%对ets建表,并创建以record元素uid作为索引键,以下的增删改查都将使用它
2> ets:new(users,[public,set,named_table,{keypos, #users.uid}]).
users
%%创建record,并对元素赋值
3> Users=#users{uid=101,name=lajabs}.
#users{uid = 101,website="t.qq.com/lajabs",name = lajabs,
time = {16,48,32}}
%%将创建好的record存入ets
4> ets:insert(users,Users).
true
%%创建第二个record
5> Users2=#users{uid=102,name=laja2}.
#users{uid = 102,website="t.qq.com/lajabs",name = laja2,
time = {16,49,16}}
%%把record users也存入ets,这时users表中有2笔记录
6> ets:insert(users,Users2).
true
%%尝试查询uid(索引键)为102的记录,成功返回record(之前定义的变量Users2),需要注意返回的是列表(带[])
7> ets:lookup(users,102).
[#users{uid = 102,website="t.qq.com/lajabs",name = laja2,
time = {16,49,16}}]
%%对ets更新record,将元素name改为'hello'
8> ets:update_element(users,102,{#users.name, hello}).
true
%%查看修改后的结果,发现已经更改成功
9> ets:lookup(users,102).
[#users{uid = 102,website="t.qq.com/lajabs",name = hello,
time = {16,49,16}}]
%%删除uid(索引键)为102的记录
10> ets:delete(users,102).
true
%%查看结果,已删除成功,返回的是空列表[]
11> ets:lookup(users,102).
[]
%%查询记录中的某个元素值可以用以下方式
12> ets:lookup_element(users,101,#users.name).
lajabs
- ets结合record的增删改查操作
- ets结合record的增删改查操作
- [erlang]ets结合record的增删改查操作
- ets结合record的增删改查操作
- ets结合record的增删改查操作
- [erlang]ets结合record的增删改查操作
- jfinal结合easyui完成基本的增删改查操作
- SSH结合EasyUI的分页操作(数据的增删改查)
- 增删查改操作
- Android中结合OrmLite for android组件对SQLite的CRUD(增删改查)操作实例
- Android中结合OrmLite for android组件对SQLite的CRUD(增删改查)操作实例
- Android中结合OrmLite for android组件对SQLite的CRUD(增删改查)操作实例
- Android中结合OrmLite for android组件对SQLite的CRUD(增删改查)操作实例
- 嵌套表的操作(增删改查)
- java操作mysql的增删改查
- java操作mysql的增删改查
- map的 增删改查 操作
- Magento基础的增删改查操作
- [Android] 监听系统网络连接打开或者关闭的消息
- 菱形
- vc6.0+IDE编译64位程序
- Oracle计算时间差表达式
- 排序_Shell_Sort(希尔排序)
- ets结合record的增删改查操作
- 配置nginx服务器的rewrite
- 偷梁换柱——Tiny210开发板下照样玩uboot和tftp
- Postfix邮件服务器架设
- mini2440移植linux-2.6.32.7内核
- 转 -- 驾驭你的“职场布朗运动”
- _倒直角三角形
- mysql 5.0存储过程(包括语法,符号)
- Servlet文件上传