我应该使用HttpRuntime.Cache吗?

时间:2011-11-11 10:08:47

标签: c# caching httpruntime.cache

我是asp.net的初学者,并且有一些关于Cache的问题:

  1. HttpRuntime.Cache只提供了几个方法,我想我可以自己用Dictionary实现这些方法。
  2. 如果HttpRuntime.Cache比Dictionary好多了,为什么有些人想要实现自己的缓存框架。
  3. MS Enterprise Cache Block怎么样?

1 个答案:

答案 0 :(得分:84)

  

HttpRuntime.Cache只提供了几种方法,我想我能够   用自己的词典来实现这些方法。

你认为错了。 HttpRuntime.Cache不仅仅是一个简单的字典。它提供线程安全和缓存过期策略。它提供了使用自定义实现的可能性,并从分布式缓存中受益,这在Web场中很有用。用字典实现这个可能是很多你可能不想冒险的工作,因为你基本上会重新发明轮子,即使重新发明轮子也不会打扰你做正确的机会很渺茫。

  

2)如果HttpRuntime.Cache比Dictionary好多了,为什么有些人呢   想要实现自己的缓存框架。

人们不想这样做。

  

3)MS Enterprise Cache Block怎么样?

当您需要简单的缓存时,这种重型火炮并不总是必要的,这可以通过框架已经为您提供的开箱即用来实现。

备注:在.NET 4.0中,您应该使用新的System.Runtime.Caching命名空间而不是HttpRuntime.Cache

所以回答你的问题:Should I use HttpRuntime.Cache

是的,除非您使用的是.NET 4.0,否则您应该使用新System.Runtime.Caching命名空间中的类。