mnesia
2015-07-15 18:02
211 查看
1、模式创建
mnesia:create_schema([node()|nodes()]).集群的节点之间创建模式
2、启动和停止
application:start(mnesia).
application:stop(mnesia).
3、创建表
rd(usr,{msisdn,id,status,plan,services}). usr
(om@publicGroup1)18> Fields = record_info(fields,usr).
[msisdn,id,status,plan,services]
(om@publicGroup1)19> mnesia:create_table(usr,[{disc_copies,[node()]},{ram_copies,nodes()},{type,set},{attributes,Fields},{index,[id]}]).
{atomic,ok}
4、事务
transaction(F).
mnesia:transaction(fun() -> mnesia:index_read(usr, 700000002,id) end).
mnesia:transaction(fun() -> mnesia:write(usr, Usr#usr{services=[ok]}).
5、遍历
(foo@publicGroup1)41> Fun = fun(#muppet{name="Francesco",salary = Salary},_) ->
(foo@publicGroup1)41> Salary;
(foo@publicGroup1)41> (_,_) -> ok
(foo@publicGroup1)41> end.
#Fun<erl_eval.12.111823515>
(foo@publicGroup1)42> mnesia:transaction(fun() -> mnesia:foldl(Fun,ok,muppet) end).
{atomic,0}
6、脏操作
mnesia:dirty_index_read(usr,700000002,id).
mnesia:dirty_read({usr,PhoneNo}).
mnesia:create_schema([node()|nodes()]).集群的节点之间创建模式
2、启动和停止
application:start(mnesia).
application:stop(mnesia).
3、创建表
rd(usr,{msisdn,id,status,plan,services}). usr
(om@publicGroup1)18> Fields = record_info(fields,usr).
[msisdn,id,status,plan,services]
(om@publicGroup1)19> mnesia:create_table(usr,[{disc_copies,[node()]},{ram_copies,nodes()},{type,set},{attributes,Fields},{index,[id]}]).
{atomic,ok}
4、事务
transaction(F).
mnesia:transaction(fun() -> mnesia:index_read(usr, 700000002,id) end).
mnesia:transaction(fun() -> mnesia:write(usr, Usr#usr{services=[ok]}).
5、遍历
(foo@publicGroup1)41> Fun = fun(#muppet{name="Francesco",salary = Salary},_) ->
(foo@publicGroup1)41> Salary;
(foo@publicGroup1)41> (_,_) -> ok
(foo@publicGroup1)41> end.
#Fun<erl_eval.12.111823515>
(foo@publicGroup1)42> mnesia:transaction(fun() -> mnesia:foldl(Fun,ok,muppet) end).
{atomic,0}
6、脏操作
mnesia:dirty_index_read(usr,700000002,id).
mnesia:dirty_read({usr,PhoneNo}).
相关文章推荐
- 【动态口令】基础
- 5分钟开启Esper之旅
- JUnit框架功能详细——JUnit学习(一)
- 浅谈Python Web的五大框架
- android垃圾回收机制及程序优化System.gc
- 配置Tomcat虚拟目录和主机,通过主机名来访问项目
- abort的理解
- initWithNibName initWithCoder awakeFromNib
- Android Studio 使用笔记:快捷键
- Linux ls命令参数详解 <转>
- java.lang.IllegalStateException: getOutputStream() has already been called for this response
- liunx GHOST clonezilla(再生龙)UltraISO刻录问题
- eclipse的代码贴到word文档的时候,原先的颜色设置都不见了,全都变成黑色的了
- 修饰器
- 分析ReentrantLock之unlock
- App布局初探之简单模型
- TreeView 精确查找
- 森林、树与二叉树相互转换
- 在线数据迁移经验:如何为正在飞行的飞机更换引擎
- Selenium 2 入门