新しい Elixir プロジェクトで、Erlang の ETS をユーザー検索用のキャッシュとして使用することを検討しています。ユーザー入力に基づいて、システムは高価なサードパーティ API を使用してルックアップを行います。
同じユーザー入力に対して重複した呼び出しを行うことを避けるために、外部 API の前にキャッシュ レイヤーを配置するつもりであり、ETS はこれに適したオプションのようです。ただし、ユーザー入力のバリエーションに制限がないため、ETS テーブルに必要なストレージ容量が際限なく増大することが懸念されます。
私が ETS について読んだとき、ETS のテーブルのサイズに関する懸念について話し合っている人を他に見たことがありません。これは、ETS の異常な使用例になるからですか?
一見したところ、私の好みは ETS テーブルのエントリ数を制限し、制限に達したら最も古いエントリを拒否 (つまり削除) することです…</p>
ETS で無制限の数のエントリを処理するための一般的な戦略はありますか?