0

SQL Server 2008 r2でasp.netを使用しています

ユーザーがデータベース内の情報に基づいてレポートを実行できる Web サイトを構築しています。レポートの 1 つで、データベース内の情報に基づいて動的に読み込まれる約 6 つのチェックボックス リストがあり、ユーザーは特定のボックスを選択して、レポートに含まれる情報を絞り込むことができます。

これらのチェックボックス リストに入力されるデータは更新されませんが、約 2 日に 1 回更新されます。現在、各チェックボックスリストの初期化コントロールイベントにチェックボックスをロードしています。別のタブを選択してから、これらのチェックボックスリストを含むタブに戻るたびに、毎回チェックボックスリストをリロードするように見えますが、これには時間がかかり、約 6 ~ 10 秒かかります。

私はキャッシングに慣れていません。サイトが継続的な読み込みを実行する必要がないように、チェックボックスリストに読み込まれるデータをキャッシュすると便利ですか?

4

2 に答える 2

1

はい、この場合はキャッシュが役立ちます。

アプリケーション データのキャッシュについて詳しくは、http: //msdn.microsoft.com/en-us/library/6hbbsfk6 (v=vs.100).aspx を参照してください。

データ アクセス レイヤーでキャッシュすると、ロジックは次のようになります。

  • チェックボックスのデータを取得する
    • データがキャッシュに保存されているかどうかを確認する
      • もしそうなら、それを返します
      • そうでない場合は、データベースにヒットし、結果をキャッシュに保存してから返します。

キャッシュへの追加方法とキャッシュからの読み取り方法に関する具体的な情報については、上記のリンクを参照してください。

于 2012-10-04T14:14:47.490 に答える
0

はい チェックボックスで Ajax を介してデータをロードする場合は、おそらく ASP.NET の出力キャッシュ機能を使用する必要があります。

それらをサーバーでレンダリングする場合、データを一部の DataObject (シングルトン、または一部のオブジェクトの静的フィールド) に格納できるため、サーバーが提供するすべてのリクエストで利用できます。

この機能をシングルトン オブジェクトにラップして、初期化時に DB からデータをロードし、データを取得するたびに再ロードする必要があるかどうかを確認します (必要に応じて再ロードします)。

于 2012-10-04T14:12:52.607 に答える