0

ユーザーは、ほとんどの場合、Web アプリケーションの CRUD 操作を行うことができます。しかし、私の特定の Web アプリケーションでは状況が異なります。ユーザーは決して CUD を行いません。データの取得のみが可能です。

だから写真:

1- データベースを頻繁に更新するサービスがあります (毎秒 7 ~ 8 回の更新) (スケジューリング フレームワークは Quartz.Net です)

2- SQL Server 2008 R2

3- Asp.Net MVC 4 (Web ユーザーは SQL Server からのみデータを読み取ることができます!)

要件: Web ユーザーが SQL Server からデータを取得することはありません。

戦略 A: (コードネーム: ホストは Web アプリ)

1- Asp.Net MVC からサービス ライブラリを呼び出して、データベースとキャッシュをトランザクションで更新できるようにします。

2- Web ユーザーはキャッシュから読み取ることができます

3- App_Start で、SQL サーバーからキャッシュ データを更新します。

4- 時間ベースのアプリケーション プールのリサイクルは終了しました

戦略 B: (コード名: Web パイプ)

1-サービスはexeとして実行されます。

2-サービスはSql更新を行わず、WebリクエストをAsp.Net MVCアプリケーションに送信します。

3- したがって、Asp.Net MVC アプリケーション (コントローラーのアクション) はトランザクション的に更新およびキャッシュを行います

4- App_Start で、SQL サーバーからキャッシュ データを更新します。

5- 時間ベースのアプリケーション プールのリサイクルは終了しました

どちらのシナリオでも、Web ユーザーは SqlServer からデータを取得しません。それらは常にキャッシュからデータを読み取ります。これらは常にオブジェクト キャッシュを使用します。Asp.Net Mvc の最速のキャッシュ。シリアル化のオーバーヘッドはありません。

4

0 に答える 0