- 博客(4)
- 收藏
- 关注
mnesia如何修改表结构
mnesia创建的时候需要指定表record结构,如果定义的record结构修改了,就要更新数据的表结构,否则mnesia无法正常读取和写入数据。 我们最开始是这样定义结构的 -record(person, {name, age}). 然后这样建表 mnesia:create_table(person, [{disc_only_copies, nodes()}, {attributes, ...
2014-06-30 23:47:00 143
说说erlang tuple和record结构
erlang有两种复合结构,tuple和list,两者的区别是tuple子元素的个数是固定不变的,声明后就不能改变了;而list是可变的,可以通过[H|T]来取出或插入新元素。record有点像C/C++里面的结构体,实际上是语法糖,方便我们的开发,代码汇编时转成tuple表达形式。 Tuple tuple的表示方法如: {Term1,...,TermN}下面以例子说明erlang tuple及...
2014-06-16 23:19:00 256
erlang二进制数据垃圾回收机制
erlang二进制数据在内存中有两种存在形式,当数据大小不到 64 bytes,就直接存在进程堆内,如果超过了64 bytes,就被保存到进程外的共享堆里,可以给节点内所有进程共享。 erlang有两种二进制容器:heap binaries和refc binaries。 heap binaries Heap binaries are small binaries, up to 64 byte...
2014-06-10 01:01:00 190
分析和解决mnesia过载问题
mnesia在频繁操作数据的过程可能会报错:** WARNING ** Mnesia is overloaded: {dump_log, write_threshold},可以看出,mnesia应该是过载了。这个警告在mnesia dump操作会发生这个问题,表类型为disc_only_copies 、disc_copies都可能会发生。 如何重现这个问题,例子的场景是多个进程同时在不断地mne...
2014-06-06 22:53:00 342
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人