プライマリとセカンダリの 2 種類のインデックスがある単純化されたインメモリ キャッシュ "テーブル" を実装しようとしています。
プライマリ インデックスは、単一のキー (プライマリ キー) を一意の値にマップします (マップ インターフェイス)
セカンダリ インデックスは、単一のキーを値のコレクションにマップします (マルチマップは請求書に適合します)。
いくつかのルックアップ列を持つ RDBMS の世界のテーブルに非常に似ています。PK で検索したい場合もあれば、共通のプロパティに基づいて行のリストを返す場合もあります。現在、等号 (=) 以外の演算は必要ありません (つまり、範囲クエリやパターン マッチングは必要ありません)。
上記のデータ構造にキャッシュ セマンティクスを追加します (エビクション、データ生成/キャッシュ ローダー、更新など)。
与えられた問題への最善のアプローチ方法についてアドバイスをお願いしたいと思います。インデックスごとのキャッシュまたはキャッシュ (PK の場合) + (同期された) セカンダリ インデックスのマルチマップである必要がありますか?
どんな助けでも大歓迎です。
よろしく。