像stackoverflow一样缓存

时间:2010-06-05 11:46:39

标签: asp.net-mvc caching

我正在创建一个ASP.NET MVC 2应用程序,它在stackoverflow中包含类似问题的部分(我的考试是另一种应用程序,但可以推断为同样的SO概念)。

好的我每页都在创建一个缓存,它的意思是这样的:

[OutputCache(Duration=60, VaryByParam="page")]
ActionResult AllQuestions(int page){...}

但我想在创建新问题时使该缓存无效。我该怎么办。

我愿意接受建议,也许这不是解决这个问题的最佳方法

3 个答案:

答案 0 :(得分:4)

如果您的问题存储在SQL数据库中,您可以setup an SQL expiration policy,以便在数据更改时缓存过期。

答案 1 :(得分:0)

达林是对的。此外,如果您没有SQL Server,或者不想将其用作缓存依赖项,则可以创建自定义缓存依赖项,因为15秒有一个教程:http://www.15seconds.com/issue/040518.htm

答案 2 :(得分:0)

请记住,there are only two hard problems in computer science和缓存失效是其中之一。在您需要之前不要添加缓存的麻烦。与往常一样,避免像这样的过早优化。