1

ASP.NET キャッシュについて知りたいだけなので、この簡単な例について質問します。

ページ「samplepage.aspx」でキャッシュを使用しています(現在、この方法は使用していません。

// upon entering of the samplepage.aspx, assign user id to cache
Cache["loginid"] = Login.Id.ToString();

user1 はそのページに入り、現在そのキャッシュ オブジェクトを使用しています。最終的に、user1 が現在ログオンしているときに、user2 も同じページ ("samplepage.aspx") に入ります。

ここで私の質問は、user2 の Login.Id が、user1 がすでに Login.Id を割り当てたキャッシュ「loginid」を上書きする可能性があるかどうかです。

または、user2 のキャッシュ オブジェクト用に別のメモリを作成しますか? また、リスト (5000 人の従業員のリストとしましょう) をキャッシュに入れると、システムのパフォーマンスに影響を与える可能性がありますか? また、同じデータを入れた場合、どれがより多くのメモリ、キャッシュ、またはセッションを消費しますか?

以前はセッションを使用していましたが、キャッシュがセッションのように動作するかどうかを知りたいです。答えてくれてありがとう。

編集:
@TimMedora、コメントありがとうございますが、リストがそのページの特定のユーザーのすべてのイベントをフィルター処理された場合はどうなりますか? たとえば、user1 が button_filterLastNameOnly をクリックし、user1 が別の button_filterFirstNameOnly をクリックした場合。ご覧のとおり、そのリストは user1 のイベントに基づいてフィルタリングされます。データベースからのラウンドトリップの削減に関するこの記事を読んだので、そのリストをキャッシュまたはセッションに保存したいので、そのリストを保存する場所がわかりません。

4

2 に答える 2

2

ASP.Net のデータ キャッシュとセッション オブジェクトを参照してください。

基本的に、ユーザー固有のオブジェクト(あなたの場合はユーザーIDなど)には、セッションを使用します。すべてのユーザーが共有するオブジェクトには、キャッシュを使用します。

于 2013-10-17T02:42:58.003 に答える
1

キャッシュのパフォーマンスは良好ですので、使用について心配する必要はありません。

あなたの例では、ユーザー情報は各ユーザーに固有の情報であるため、セッションに保存する方がはるかに優れています。すべてのユーザーに共通するものを保存したい場合は、キャッシュを使用できます。

于 2013-10-17T02:42:45.347 に答える