Erlang共享ETS表

Dan*_*Dan 1 erlang shared ets

Erlang ETS表可以在不同的进程之间共享吗?因此,如果我有两个进程在不同的Erlang运行系统上运行,我可以以某种方式链接它们,以便我在一个ETS表中做的所有更改将反映在另一个ETS表中吗?

leg*_*cia 9

在单个Erlang节点中,通过将public选项传递给ETS表可以完全共享ets:new.(请注意,如果其所有者死亡,该表将被销毁,除非您已经设立了继承人.)

如果需要跨多个Erlang节点共享表,则需要使用Mnesia.

  • 据我所知,Mnesia建立在ETS和DETS之上.因此,它不应该比自定义实现更慢地减慢您的应用程序,但为您带来健壮性和文档.可能有人可以提供有关使用的交易选择的建议(同步/异步,脏或不) (2认同)