Azure缓存预览 - 过早到期

时间:2012-07-26 03:44:42

标签: caching azure azure-caching

我们在同位模式下运行Azure缓存(预览),我们注意到有时无法在缓存中找到项目或过早过期。

要更好地了解我的问题,请查看我们日志中的以下输出

2012-07-26 03:14:15,093 [13] DEBUG XXX.CacheBase - Update: XXX-CacheKey-XXX | Abs Exp: 07/26/2012 04:15:15 +00:00 | Sli Exp: 00:00:00
2012-07-26 03:14:17,452 [22] DEBUG XXX.CacheBase - PessimisticFetch - XXX-CacheKey-XXX
2012-07-26 03:24:32,229 [23] DEBUG XXX.CacheBase - PessimisticFetch - XXX-CacheKey-XXX
2012-07-26 03:24:32,245 [23] DEBUG XXX.SomeClass - Item not found in cache: XXX-CacheKey-XXX 

Explination:

  1. 第1行:插入具有绝对过期的缓存,注意绝对前
  2. 第2行:稍后提取一分钟 - 确定
  3. 第3行:10分钟后左右取得 - 未找到
  4. 第4行:在缓存中找不到报告的项目
  5. 简而言之,我们使用GetAndLock / PutAndLock来存储这些特定的项目。这些物品有一个绝对的到期时间(1小时),但是5到10分钟之后的任何物品都不再在缓存中了。

    我的CacheItemPolicy更令人不安我设置了删除通知,但这绝不会被触发

    //---
    cacheItemPolicy.RemovedCallback = ItemRemoved;
    //---    
    
    static void ItemRemoved(CacheEntryRemovedArguments args)
    {
        _log.DebugFormat("Item evicted from cache: {0}. Reason: {1}", args.CacheItem.Key, args.RemovedReason);
    }
    

    我还附上了缓存设置的屏幕截图 见图 - > http://i.stack.imgur.com/4ORQQ.jpg

    我已经没想到它会是什么......任何线索解释,WTF会很感激:)

0 个答案:

没有答案