2011-07-30 16 views
0

キャッシングサービスを作成していて、データをキャッシュするのにMemorycacheを使用しています。キャッシュされたデータは12時間後に有効期限が切れるように設定されています。 1時間後、キャッシュされたデータは消滅します。 IIS(7.0)ワーカープールは、1740分後に有効期限が切れるように構成されています。私は約200 Mのデータをキャッシュしており、各キャッシュ項目は100バイト未満です。MemoryCache:キャッシュされたアイテムの有効期限が正しく設定されていません

誰もがこの問題に直面しているか、私はここで何か間違っている可能性がありますか?

私がMemoryCacheをインスタンス化するために使用したコードは次のとおりです。

private const string ConstCacheMemoryLimitMegabytes = "cacheMemoryLimitMegabytes"; 
private const string ConstCacheMemoryLimitMegabytesValue = "2000"; 
private const int CacheDefaultTimeOut = 720; 

// Percentage of server memory to use 
private const string ConstPhysicalMemoryLimitPercentage = "physicalMemoryLimitPercentage"; 
private const string ConstPhysicalMemoryLimitPercentageValue = "100"; 

// The maximum time that can occur before memory statistics are updated. 
private const string ConstPollingInterval = "pollingInterval"; 
private const string ConstPollingIntervalValue = "02:00:00"; 

var config = new NameValueCollection 
{ 
    { ConstCacheMemoryLimitMegabytes, ConstCacheMemoryLimitMegabytesValue }, 
    { ConstPhysicalMemoryLimitPercentage, ConstPhysicalMemoryLimitPercentageValue }, 
    { ConstPollingInterval, ConstPollingIntervalValue} 
}; 

var _cachePolicy = new CacheItemPolicy 
{ 
    AbsoluteExpiration = ConvertIntToMinDateTimeOffSet(CacheDefaultTimeOut) // Setting this to expire 12 hours later. 
}; 

_memoryCache = new MemoryCache("MyCustomCache", config); 
var cacheItem = new CacheItem(key, item); 
_memoryCache.Add(cacheItem, _cachePolicy); 


private static DateTimeOffset ConvertIntToMinDateTimeOffSet(int cacheExpiryIntervalInMinute) 
{ 
    return new DateTimeOffset(DateTime.Now.AddMinutes(cacheExpiryIntervalInMinute)); 
} 

タイムゾーンはUTC + 8時00分(KL、シンガポール)

+1

あなたが住んでいる時間帯を文書化してください。 –

答えて

0

は、こうであるかもしれませんが、物事のカップルかどうかわからないです:

var config = new NameValueCollection 

すべきでありません

var config = new NameValueCollection() 

といけない

:それは可能

こと:CacheDefaultTimeOutが設定されているところも

var _cachePolicy = new CacheItemPolicy() 

、私は表示されませんが、私はそれがどこかに720(12時間)に設定されますと仮定していますか?

私が言ったように、これは問題であるとは確信していません。私はあなたのコードがコンパイルされていないと思っていて、実行しているように思えます。しかし時にはそれは単純なものです...

+0

混乱して申し訳ありません。私はコードを更新しました。 – kepung

関連する問題