2017-05-31 11 views
-1

私はWEB API(VS 2013)プロジェクトで1300万行のキャッシュ(HTTPRuntime.Cache)を取得しています。C#メモリキャッシュで1300万行のデータが見つかりません

メモリオブジェクトのカウントは、キャッシュオブジェクトに13M行を言いますが、私は、コマンド

cacheObj.OrderByDescending(o => o.ID).Where(w => w.ID == 1111111).Select(s => s).ToList(); 

を発行したときには、0データを返します。私はOracle DBをチェックし、レコードを表示します。また別のID(たとえば1234567)を見つけようとすると、有効なデータが返されます。私はそれがキャッシュサイズかもしれないキャッシュを感じている。

何が起きているのか?ありがとう

+0

あなたのためにいくつかのコードを投稿する必要があります。どのようにして特定のIDをキャッシュに入れるべきなのか、なぜですか? –

+0

あなたのアプリケーションやロジックではなく、フレームワークで動作しないものがあると言う理由は何ですか?結果が変わるわけではありませんが、13Mの行を注文する理由は何ですか?なぜあなたはSelect(s => s)ですか? cacheObj.Count()を実行した場合、結果はどうなりますか? 13M? – Tipx

+0

なぜ 'cacheObj.FirstOrDefault(x => x.w.ID == 1111111).ToList()'だけではないのですか? –

答えて

0

ありがとうございました。 Tipx、cacheObj.Count()は13Mを返します。 Erik Erik Funkenbusch、私はあなたのメソッド呼び出しを試み、NULLを返しました。私が今試したのは、13Mをそれぞれ500,000の小さなキャッシュに分割し、それぞれのキャッシュを照会することで期待通りの結果を返すことです。また、キャッシュごとに新しいコンテキストオブジェクトを作成する必要がありましたが、結果はまだ0でした。ヘルプにもう一度感謝します!

+0

基本的に私のデータはキャッシュの1つにあり、必要なデータが見つかるまで各キャッシュを照会します –

関連する問題