約 10.000 個の不変オブジェクトを処理する C# アプリケーションがあります。各オブジェクトのサイズは 50KB ~ 1MB です。アプリケーションは、操作ごとに約 10 ~ 100 個のオブジェクトを選択します。どのオブジェクトが選択されるかは、状況とユーザーの選択によって異なりますが、非常に頻繁に使用されるオブジェクトがいくつかあります。
すべてのオブジェクトを常にメモリに保持するのは多すぎますが、ディスク アクセス時間が迫っています。人気ベースのキャッシュを使用して、ディスク アクティビティを削減したいと考えています。キャッシュには最大が含まれます。300 個のオブジェクト。使用パターンの間に、どれをキャッシュするかを決定することを期待しています。各オブジェクトにアクセス カウンターを簡単に追加できます。人気の高いものが入るほど、あまり人気のないものはキャッシュを離れなければなりません。私のお尻をコーディングせずにそれを行う簡単で独創的な方法はありますか?