小编Eri*_*din的帖子

使用gen_server封装mnesia表?

我有一个在Erlang中制作的服务器应用程序.在其中我有一个mnesia表,存储一些照片信息.本着"一切都是过程"的精神,我决定将该表包装在一个gen_server模块中,以便gen_server模块是唯一直接访问该表的 模块.查询和向该表添加信息是通过向该进程发送消息(具有注册名称)来完成的.我们的想法是会有几个客户端进程从该表中查询信息.

这很好用,但该gen_server模块没有状态.它需要的一切都存储在mnesia表中.那么,我想知道是否gen_server可能不是封装该表的最佳模型?

我应该简单地不将它作为一个过程,而只是通过该模块中的函数封装表吗?如果该模块中存在错误,这将导致调用进程崩溃,我认为这可能会更好,因为它只会影响单个客户端,而不是现在,当它会导致gen_server进程崩溃时,会导致 每个人无法访问该表(直到主管重新启动它).

任何输入都非常感谢.

erlang mnesia erlang-otp

8
推荐指数
2
解决办法
754
查看次数

标签 统计

erlang ×1

erlang-otp ×1

mnesia ×1