0

私のウェブサイトは行きます。ただし、データベースに接続して取得するデータを取得するために、多くのクライアントがサーバーを呼び出す必要があります。データベースのパフォーマンスを改善するには、Web サーバーにキャッシュを実装する必要があります。

データ アクセスまたはモデル レイヤーに実装する必要があります。ASP.NET MVC を使用しています。ありがとう。

4

1 に答える 1

2

Web アプリケーションには 2 つのレベルのキャッシュが存在する可能性があります。

  1. アクション全体または HTML のフラグメントのキャッシュ
  2. データ アクセス操作からの結果オブジェクトのキャッシュ

最初のシナリオは、アクション/子アクションを[OutputCache]属性で装飾することによって実現されます。

2 番目はよりきめ細かく、設定によって異なります。たとえば、NHibernate などの ORM を使用している場合、その ORM は既にキャッシュをサポートしている可能性があります。たとえば、NHibernate は、キャッシング プロバイダーを使用して外部化することもできる 2 番目のレベルのキャッシュをサポートしています。したがって、ORM を使用している場合は、ORM のドキュメントにアクセスして、そのようなキャッシュ機能がサポートされているかどうかを確認してください。

ORM がキャッシングをサポートしていない場合、または ORM をまったく使用していない場合は、自分でキャッシングを構築できます。これは、依存関係としていくつかのキャッシュ プロバイダーを挿入できるサービス レイヤーで実現でき、サービスがリポジトリにクエリを実行するときに、プロバイダーを使用してそれらのリポジトリから返された結果をキャッシュします。

于 2012-07-04T13:04:56.780 に答える