我是Erlang新手。我有一个关于ets表的问题。Erlang ets插入到多个表中
我有两个ets表,我需要从两者插入或删除值。
insert(V) ->
ets:insert(table_test,V),
ets:insert(table_cp,V).
delete(V)->
ets:delete(table_test,V),
ets:delete(table_cp,V).
我该如何保证手术成功或失败?例如,插入操作,如果在ets:insert(table_cp,V)处有错误,我应该从talbe_test中删除该值吗?
同样删除,如果ets:delete(table_cp,V)失败,我应该重新插入值吗?
请大家帮忙。
你说你是Erlang新手,但你已经决定避开Mnesia?正如@ Amiramix的回答指出的那样,Mnesia是拥有事务语义的最简单的方法。它内置了Erlang,因此不需要额外的依赖关系,并且可以配置为仅在内存中(无文件系统访问),如果这是您要完成的任务。 –