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的更多相关文章

  1. erlang 分布式数据库Mnesia 实现及应用

    先推荐一篇:mnesia源码分析(yufeng)   - linear hash   ETS/DETS/mnesia 都使用了linear hash算法 http://en.wikipedia.org ...

  2. erl0005 - mnesia 分布式部署

    http://www.iteye.com/topic/643187 1.启动两个互通的节点a.b: 2.在a节点net_adm:ping(b) 查看ab之间是否联通(nodes()). 3.在保持通的 ...

  3. erlang mnesia 数据库实现SQL查询

    Mnesia是一个分布式数据库管理系统,适合于电信和其它需要持续运行和具备软实时特性的Erlang应用,越来越受关注和使用,但是目前Mnesia资料却不多,很多都只有官方的用户指南.下面的内容将着重说 ...

  4. erlang mnesia数据库设置主键自增

    Mnesia是erlang/otp自带的分布式数据库管理系统.mnesia配合erlang的实现近乎理想,但在实际使用当中差强人意,总会有一些不足.mnesia数据表没有主键自增的功能,但在mnesi ...

  5. erlang mnesia 数据库查询

    Mnesia是一个分布式数据库管理系统,适合于电信和其它需要持续运行和具备软实时特性的Erlang应用,越来越受关注和使用,但是目前Mnesia资料却不多,很多都只有官方的用户指南.下面的内容将着重说 ...

  6. Mnesia基本用法

    查看表结构 查看mnesia表的结构: mnesia:info(). 查看此表的基本信息: mnesia:table_info(<tableName>, all). Mnesia初使化 m ...

  7. erlang mnesia数据库简单应用

    mnesia是erlang自带的分布式数据库,基于ets和dets实现的.mnesia兼顾了dets的持久性和ets的高性能,可以自动在多个erlang节点间同步数据库.最关键的是,mnesia实现了 ...

  8. cannot_delete_plugins_expand_dir "/var/lib/rabbitmq/mnesia/rabbit@iZbp1iiexwyqe7tpjigcg9Z-plugins-expand"

    [root@iZbp1iiexwyqe7tpjigcg9Z rabbitmq]# cat startup_err /usr/lib/rabbitmq/bin/rabbitmq-env: line 91 ...

  9. [erlang] mnesia

    原文地址: http://www.cnblogs.com/bluefrog/archive/2012/05/16/2504625.html 本来是项目合作的,可是你却一而再再而三的使用这招,我处理愤怒 ...

随机推荐

  1. URL中的#

    作者:阮一峰   http://www.ruanyifeng.com/blog/2011/03/url_hash.html 一.#的涵义 #代表网页中的一个位置.其右面的字符,就是该位置的标识符.比如 ...

  2. 低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端

    低功耗蓝牙BLE外围模式(peripheral)-使用BLE作为服务端 Android对外模模式(peripheral)的支持 从Android5.0开始才支持 关键术语和概念 以下是关键BLE术语和 ...

  3. VMware安装ubuntu,通过/mnt/hgfs 挂载共享Windows系统文件夹

    网上各种相关的配置说明,但是都没一个完整的,在这里楼主结合实战亲测,这一整套包含各种情况 1.安装VMware tools 2.解压到任意一个文件夹 tar -xzvf VMwareTools**** ...

  4. Android中Activity全局共享方法AppContext

    在 android 的所有 activity 中共享同一个对象实例的方法 1. 新建 AppContext.java 文件(名称可自定义) public class AppContext extend ...

  5. Unity 解决 An asset is marked with HideFlags.DontSave but is included in the build 问题。

    问题是:不能使用Unity使用的默认的字体.想要显示中文直接去下载一个字体.没必要使用默认的字体

  6. ubuntu 14.04—解决软件中心进度条卡死的问题

    软件中心下载安装软件进度条卡住了,这时候解决方法为: 先解锁: sudo rm -rf /var/lib/dpkg/lock 如果此时开启软件中心,发现进度还在, 那么我们需要找到相关的进程关闭他,使 ...

  7. ie6的png24问题

    解决IE6的PNG透明JS插件 DD_belatedPNG 引:http://www.cnblogs.com/cobby/archive/2012/05/11/2495801.html IE6的PNG ...

  8. angular $parse $eval parse VS eval

    $parse  angular中重要指令介绍($eval,$parse和$compile) Advanced Angular: $parse $parse ---------------------- ...

  9. log4j.properties 的使用详解

    一.log4j.properties 的使用详解 1.输出级别的种类 ERROR.WARN.INFO.DEBUGERROR 为严重错误 主要是程序的错误WARN 为一般警告,比如session丢失IN ...

  10. 二十四、oracle pl/sql 变量

    一.变量介绍在编写pl/sql程序时,可以定义变量和常量:在pl/sql程序中包括有:1).标量类型(scalar)2).复合类型(composite) --用于操作单条记录3).参照类型(refer ...