私はErlang newbieです。私はetsテーブルについて質問を受けました。Erlangは複数のテーブルに挿入します
私には2つのテーブルがあり、両方から値を挿入または削除する必要があります。
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)で何か問題がある場合、insertオペレーションは、talbe_testから値を削除する必要がありますか?
ets:delete(table_cp、V)が失敗した場合は、値を再挿入する必要がありますか?
助けてください。
あなたはErlang初心者だと言いますが、すでにMnesiaを避けることに決めましたか? @ Amiramixの答えが指摘しているように、Mnesiaはトランザクションセマンティクスを持つ最も簡単な方法です。これはErlangに組み込まれているので、追加の依存関係はなく、実行しようとしているのであれば、メモリのみ(ファイルシステムへのアクセスなし)に設定することができます。 –