我是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,因此不需要額外的依賴關係,並且可以配置爲僅在內存中(無文件系統訪問),如果這是您要完成的任務。 –