当前位置:  开发笔记 > 编程语言 > 正文

如何从缓存中清除过期的项目?

如何解决《如何从缓存中清除过期的项目?》经验,为你挑选了1个好方法。

我有一个很好的小类构建,充当缓存.每个项目都有一个到期TimeSpan或DateTime.每次尝试访问缓存中的项目时,都会检查项目的到期时间,如果项目已过期,则会从缓存中删除该项目,并且不会返回任何内容.

这对于经常访问的对象来说非常好,但是如果一个项目放在缓存中并且从未再次访问过,那么它永远不会被删除,即使它已经过期了.

从缓存中过期这些项目的好方法是什么?

我是否应该有一个后台线程无限枚举缓存中的每个项目以检查它是否已过期?



1> Joe..:

最好的代码是没有代码.请改用ASP.NET缓存.您可以在任何应用程序中将其引用为System.Web.HttpRuntime.Cache,而不仅仅是Web应用程序.


如果可以使用4.0框架,目前的替代方案是[MemoryCache](http://msdn.microsoft.com/en-us/library/system.runtime.caching.memorycache.aspx).这打破了对ASP.Net的依赖,你可能有多个实例,但需要完整的4.0框架.
推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有