获取缓存以每小时半小时更新变量

时间:2012-12-07 19:29:30

标签: c# .net caching

我有一个缓存的.net应用程序变量。我想要做的就是让缓存按小时,1:1.30,2,2.30等每半小时回收一次变量。我有onRemoveCallback函数集,一切正常,我真正的问题是生成的最佳方法是什么正确的absoluteExpiration值?

DateTime time_to_expire = DateTime.Now;
            if (time_to_expire.Minute < 29)
            {
                time_to_expire = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, 30, 0);
            }
            else
            {
                time_to_expire = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour + 1, 0, 0);
            }

我将time_to_expire值测试为29的原因是我担心边界情况,我不希望变量在半小时内“变空”!关于如何做得更好的想法?

由于

1 个答案:

答案 0 :(得分:0)

不知道它有什么“更好”,但我倾向于做这样的事情:

        DateTime time_to_expire = DateTime.Now.AddMinutes(30);
        time_to_expire = new DateTime(time_to_expire.Year, time_to_expire.Month, time_to_expire.Day, time_to_expire.Hour, time_to_expire.Minute >= 30 ? 30 : 0, 0);