ASPを使います.NETキャッシュのデータキャッシュ

2964 ワード

【私の理解】
 
Cacheは、内蔵されたオブジェクトの集合です.全体的に、static Arraylistに似ています.スレッドが安全で、Cacheのアイテムを追加または変更する場合は、Cacheをロックまたは解除する必要はありません.
Cache[Key]=objector Cacheを追加します.Insert
Cacheを削除します.Remove(key)
【どうやって使うのか】
まずキャッシュポリシーを理解します.期限切れポリシーと絶対期限切れポリシーを調整できます.注意、両方は同時に使用できません
 
        ,   absoluteExpiration=DateTime.MaxValue ,TimeSpan .FromMinutes(10)       10            
Cache.Insert("data", "123", null , DateTime.MaxValue, TimeSpan.FromMinutes(10));

    ,     ,     60  
Cache.Insert("data", "123", null , DateTime.Now.AddMinutes(60), TimeSpan.Zero);

 
キャッシュ依存.
すなわち、1つのキャッシュの失効は別のobjectに依存する.ここでobjectは、別のキャッシュ、またはファイル、または...を指すことができる.
 :CacheDependency      System.Web.Caching.CacheDependency


他のキャッシュ・アイテムに依存
 
System.Web.Caching.
CacheDependency 
cacheDependency = 
new 
System.Web.Caching.
CacheDependency 
(
null

new 
string 
[] { 
"time" 
});
Cache.Insert( 
"number"
,++num, cacheDependency);
 
ファイルまたはフォルダに依存
 
System.Web.Caching.
 CacheDependency
 cacheDependency = 
new
 System.Web.Caching.
CacheDependency 
(
 "test.xml"
);
test.xmlファイルの削除、更新時に自動的にキャッシュから削除
 
System.Web.Caching.CacheDependency cacheDependency = new System.Web.Caching.CacheDependency(null, new string[] { "time"}); Cache.Insert("test", "123", cacheDependency);
 
アイテムコールバックの削除
 Cache.Insert(
"test"

"123"

null 

DateTime
.Now.AddSeconds(10), 
TimeSpan
.Zero, 
new 
CacheItemUpdateCallback
(Test));
 
 
 
private 
void 
Test(
string 
key, 
CacheItemUpdateReason 
reason, 
out 
object 
expensiveObject, 
out 
CacheDependency 
dependency, 
out 
DateTime 
absoluteExpiration, 
out 
TimeSpan 
slidingExpiration)
    {
 
    }
 
【ソースダウンロード】