【发布时间】:2013-04-14 06:03:59
【问题描述】:
我正在 Azure WebRole 中运行角色缓存。 当我在缓存中插入对象时,我指定了 15 秒的时间跨度,但对象在插入后 1 分半过期。
问题是:过期时间有最小值吗..可以是15秒吗?
更新: 当我说对象在指定时间内没有过期时,我的意思是我在配置的时间内没有收到预期的“删除回调”。我有以下配置:
DataCacheFactoryConfiguration config = new DataCacheFactoryConfiguration();
config.NotificationProperties = new DataCacheNotificationProperties(1000, TimeSpan.FromSeconds(1));
cacheFactory = new DataCacheFactory(config);
cacheAbsolute = cacheFactory.GetCache("absolute");
foreach (CacheAbsoluteRegion reg in Enum.GetValues(typeof(CacheAbsoluteRegion)))
{
cacheAbsolute.CreateRegion(reg.ToString());
cacheAbsolute.AddRegionLevelCallback(reg.ToString(), DataCacheOperations.RemoveItem, new DataCacheNotificationCallback(RemoveCallback));
}
在我添加一个时间跨度为 15 秒的对象后,在插入后 1 到 2 分钟之间调用回调。
【问题讨论】:
-
您可以从您的设置中发布 Microsoft.WindowsAzure.Plugins.Caching.NamedCaches 字符串吗?
-
{“caches”:[{“name”:“default”,“policy”:{“eviction”:{“type”:0},“expiration”; :{“defaultTTL”:1,“isExpirable”:true,“type”:2},“serverNotification”:{“isEnabled”:true}},“secondaries”:0},{“ name”:“absolute”,“policy”:{“eviction”:{“type”:0},“expiration”:{“defaultTTL”:10,“isExpirable”:true,” type“:1}”,“serverNotification”:{“isEnabled”:true}},“secondaries”:0}]}
-
有2个命名缓存,一个有滑动过期,另一个是绝对过期。
标签: azure azure-caching