大量のデータをキャッシュするためのソリューションを探しています。
関連する質問ですが、言語が異なります:
別の用語で質問を閉じる:
私は永続性、トランザクション、スレッドセーフなどを必要とせず (または何も支払いたくない)、List<> または Dictionary<> よりも使用するのがそれほど複雑ではないものを望んでいます。
コードを書かなければならない場合は、一時ディレクトリにすべてをファイルとして保存します。
string Get(int i)
{
File.ReadAllText(Path.Combine(root,i.ToString());
}
私の場合、インデックスは になりますint
(そして、それらは連続しているか、十分に近い必要があります) とデータは になります。そのため、 PODstring
の両方を処理することから逃れることができ、むしろ超軽量にして正確にそれを行うことができます。
使用法は、合計 650MB の 3k ファイル (ファイル #1 から #3000 のように) のシーケンスがあり、シーケンスの各ステップに対して diff を実行する必要があることです。私はそれがほぼ同じかそれ以上になると予想しており、そのすべてをメモリに保持したくありません(私ができないところにより大きなケースが発生する可能性があります)。
多くの人が私の問題に対してさまざまな解決策を提案しています。しかし、私の小さなニッチをターゲットにしたものはないようです。私がディスク バックアップ キャッシングを検討している理由は、現在の使用量が使用可能なアドレス空間の 1/3 から 1/2 を使い果たすと予想しているからです。大きいケースだとスペースがなくなるのではないかと心配です。トレッド、永続性、または複製については心配していません。私が探しているのは、最小限のコード、最小限の使用フット プリント、最小限のメモリ オーバーヘッド、最小限の複雑さを使用する最小限のソリューションです。
私は楽観的すぎると思い始めています。