ASP.NETキャッシュ(Cache)
ASP.NETはASP.NETアプリケーションは基本的に情報をキャッシュするプログラミング機能です.この機能はアプリケーションオブジェクトと似ていますが、ASP.NETアプリケーションのライフサイクル内でキャッシュ情報を動的に維持する能力.アプリケーションでデータをキャッシュすると、サーバに対してローカルであり、迅速に取得できるため、パフォーマンスが大幅に向上します.最初のデータ・ソースを再クエリーする必要はありません.特に現在のシステムの一般的な最大のボトルネックは、データベースであり、キャッシュを合理的に利用することで、不要なデータベースへのアクセスを大幅に削減し、システムのパフォーマンスを最適化することです.
Cacheオブジェクトは、アプリケーションを管理する他のユーザまたはASP.NET自体によるキャッシュ内のアイテムの操作.Cacheオブジェクトを使用すると、任意のタイプ(値タイプまたは適用タイプ)を格納し、更新または削除できます.Cacheは、Applicationオブジェクトよりも柔軟なオブジェクトです.以下をサポートします.
1.関連性に基づく期限切れと削除:Cacheオブジェクトはキャッシュ値の自動期限切れと削除を一つのファイルイベント、一つの具体的な或いは相対的な日付/時間或いは別のキャッシュキーにバインドする能力を提供する.
2、自動的なロック管理——Cacheオブジェクトは内部ロック管理を含み、原子更新(一つの計算操作に置くことができる更新)に同期を提供する.
3、コールバックメカニズム——Cacheオブジェクトはコールバック関数を設定してキャッシュ項目を削除して呼び出す能力を提供する.
Cacheの追加方法には、Add()またはInsert()があります.Insertメソッドでは、デフォルトのパラメータを使用してキャッシュの追加を行うオプションのパラメータを使用できます.
Cache.Add(KeyName, KeyValue,Dependencies,AbsoluteExpiration,SlidingExpiration,Priority,CacheItemRemoveCallback);
パラメータは、キャッシュ名、キャッシュされたオブジェクト、依存項目、絶対期限切れ、相対期限切れ、優先度、キャッシュ期限切れによるイベントです.
≪キャッシュ依存項目|Cache Dependencies|emdw≫:ファイル依存、その他のキャッシュ依存、データベース依存、および期限切れのメソッドを設定します.依存項目が変更されると、キャッシュは失効し、一定のイベントを開始できます.
1、ファイル依存:キャッシュ依存xmlファイル:
3、期限切れの設定:
AbsoluteExpirationでは、30分後に期限が切れるなど、キャッシュの絶対期限を設定できます.
ASP.NETはASP.NETアプリケーションは基本的に情報をキャッシュするプログラミング機能です.この機能はアプリケーションオブジェクトと似ていますが、ASP.NETアプリケーションのライフサイクル内でキャッシュ情報を動的に維持する能力.アプリケーションでデータをキャッシュすると、サーバに対してローカルであり、迅速に取得できるため、パフォーマンスが大幅に向上します.最初のデータ・ソースを再クエリーする必要はありません.特に現在のシステムの一般的な最大のボトルネックは、データベースであり、キャッシュを合理的に利用することで、不要なデータベースへのアクセスを大幅に削減し、システムのパフォーマンスを最適化することです.
Cacheオブジェクトは、アプリケーションを管理する他のユーザまたはASP.NET自体によるキャッシュ内のアイテムの操作.Cacheオブジェクトを使用すると、任意のタイプ(値タイプまたは適用タイプ)を格納し、更新または削除できます.Cacheは、Applicationオブジェクトよりも柔軟なオブジェクトです.以下をサポートします.
1.関連性に基づく期限切れと削除:Cacheオブジェクトはキャッシュ値の自動期限切れと削除を一つのファイルイベント、一つの具体的な或いは相対的な日付/時間或いは別のキャッシュキーにバインドする能力を提供する.
2、自動的なロック管理——Cacheオブジェクトは内部ロック管理を含み、原子更新(一つの計算操作に置くことができる更新)に同期を提供する.
3、コールバックメカニズム——Cacheオブジェクトはコールバック関数を設定してキャッシュ項目を削除して呼び出す能力を提供する.
Cacheの追加方法には、Add()またはInsert()があります.Insertメソッドでは、デフォルトのパラメータを使用してキャッシュの追加を行うオプションのパラメータを使用できます.
Cache.Add(KeyName, KeyValue,Dependencies,AbsoluteExpiration,SlidingExpiration,Priority,CacheItemRemoveCallback);
パラメータは、キャッシュ名、キャッシュされたオブジェクト、依存項目、絶対期限切れ、相対期限切れ、優先度、キャッシュ期限切れによるイベントです.
≪キャッシュ依存項目|Cache Dependencies|emdw≫:ファイル依存、その他のキャッシュ依存、データベース依存、および期限切れのメソッドを設定します.依存項目が変更されると、キャッシュは失効し、一定のイベントを開始できます.
1、ファイル依存:キャッシュ依存xmlファイル:
DataSet dsProducts = new DataSet();
//...dsProducts y Y
CacheDependency fileDepends = new CacheDependency(Server.MapPath("Northwind.xml"));
Cache.Insert("dsProducts", dsProducts, fileDepends);
2、 :
object cacheData;
string[] fileDependsArray = { Server.MapPath("Northwind.xml") };
string[] cacheDependsArray = { "Depend0", "Depend1", "Depend2" };
CacheDependency cacheDepends = new CacheDependency(fileDependsArray, cacheDependsArray);
Cache.Insert("cacheName", cacheData, cacheDepends);
3、期限切れの設定:
AbsoluteExpirationでは、30分後に期限が切れるなど、キャッシュの絶対期限を設定できます.
Cache.Insert("cacheName ", "cacheValue", null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration);
NoSlidingExpiration可以设置相对的过期时间,如果缓存在NoSlidingExpiration设定的时间内没有被访问,缓存过期一定时间内没有被访问,缓存过期,如果在一定时间内都有访问,缓存将不会过期。如在30分钟有访问Cache就不过期:
-
Cache.Insert("cacheName", "cacheValue", null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30));