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");