1

我正在 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 分钟之间调用回调。

4

1 回答 1

1

确保您使用的是类似的东西:

cache.Add("item", "value", TimeSpan.FromSeconds(15));

并且您的缓存设置为“绝对”到期,而不是“滑动”。 在这里阅读更多...

于 2013-04-13T01:22:51.033 回答