ASP.NETキャッシュ:アプリケーションデータのキャッシュ
12356 ワード
1、アプリケーションキャッシュ項目の追加は、Cacheオブジェクトのキー値、CacheオブジェクトのInsertメソッド、CacheオブジェクトのAddメソッドを直接指定することで実現できます.
2、CacheオブジェクトのInsertメソッドには複数のリロードメソッドがあり、リロードによってキャッシュ項目の作成の依存、期限切れポリシー、優先度を指定できます.
3.Insertメソッドを使用してキャッシュにアイテムを追加し、既存のアイテムと同じ名前のアイテムが既に存在する場合、キャッシュ内の既存のアイテムは置き換えられます.
4、Add方法にはリロード方法がない.Addメソッドはキャッシュアイテムを追加し、キャッシュ内のオブジェクトを返します.Addメソッドを使用して、既存のアイテムと同じ名前のキャッシュ・アイテムがすでに存在する場合、既存のキャッシュ・アイテムは置き換えられず、例外は発生しません.
/********** ***********/
Cache["keyCache1"] = "valueCache1";
/********** Insert ***********/
Cache.Insert("keyCache2", "valueCache2");
/********** ***********/
string[] dependencies = { "keyCache2" };
Cache.Insert("keyCache3", "valueCache3",
new System.Web.Caching.CacheDependency(null, dependencies));
/********** ( )***********/
Cache.Insert("keyCache4", "valueCache4",
new System.Web.Caching.CacheDependency(
Server.MapPath("XMLFile.xml")));
/********** ( )***********/
string[] fileNames;
string fileName1 = Server.MapPath("txtFile.txt");
string fileName2 = Server.MapPath("xmlFile.xml");
fileNames = new string[] { fileName1, fileName2 };
Cache.Insert("keyCache5", "valueCache5",
new System.Web.Caching.CacheDependency(
fileNames));
/********** ( )***********/
System.Web.Caching.CacheDependency dep1 =
new System.Web.Caching.CacheDependency(Server.MapPath("xmlFile.xml"));
string[] keyDependcies2 = { "keyCache1" };
System.Web.Caching.CacheDependency dep2 =
new System.Web.Caching.CacheDependency(null, keyDependcies2);
System.Web.Caching.AggregateCacheDependency manyDep =
new System.Web.Caching.AggregateCacheDependency();
manyDep.Add(dep1);
manyDep.Add(dep2);
Cache.Insert("keyCache6", "valueCache6", manyDep);
/********** ( )***********/
// ,
Cache.Insert("keyCache7", "valueCache7",
null, DateTime.Now.AddMinutes(1d),
System.Web.Caching.Cache.NoSlidingExpiration);
/********** ( )***********/
// ,
Cache.Insert("keyCache8", "valueCache8",
null, System.Web.Caching.Cache.NoAbsoluteExpiration,
new TimeSpan(0, 10, 0));
/********** ***********/
//AboveNormal Normal
//BelowNormal Normal
//Default Normal
//High ,
//Low
//Normal BelowNormal
//NotRemovable ,
Cache.Insert("keyCache9", "valueCache9",
null, System.Web.Caching.Cache.NoAbsoluteExpiration,
System.Web.Caching.Cache.NoSlidingExpiration,
System.Web.Caching.CacheItemPriority.High, null);
/********** Add ***********/
//Add
//Add
string valueCache10 = Cache.Add("keyCache10", "valueCache10",
null, System.Web.Caching.Cache.NoAbsoluteExpiration,
System.Web.Caching.Cache.NoSlidingExpiration,
System.Web.Caching.CacheItemPriority.Default, null);
string cachedString;
cachedString = (string)Cache["keyCache1"];
if (cachedString == null)
{
cachedString = "valueCache1";
Cache.Insert("keyCache1", cachedString);
}
Asp.Netキャッシュのデータは失われやすい.紛失原因:キャッシュがいっぱいで、キャッシュ項目が期限切れになり、依存項目が変更されました.
Cache.Remove("keyCache1");