System.Runtime.Caching.MemoryCache vs HttpRuntime.Cache - are there any differences?

Giedrius picture Giedrius · Dec 4, 2012 · Viewed 44.6k times · Source

I'm wondering if there are any differences between MemoryCache and HttpRuntime.Cache, which one is preferred in ASP.NET MVC projects?

As far as I understand, both are thread safe, API is from first sight more or less the same, so is there any difference when to use which?

Answer

Sampath picture Sampath · Dec 4, 2012

HttpRuntime.Cache gets the Cache for the current application.

The MemoryCache class is similar to the ASP.NET Cache class.

The MemoryCache class has many properties and methods for accessing the cache that will be familiar to you if you have used the ASP.NET Cache class.

The main difference between HttpRuntime.Cache and MemoryCache is that the latter has been changed to make it usable by .NET Framework applications that are not ASP.NET applications.

For additional reading:

Update :

According to the users feedback, sometimes Jon davis blog is not working.Hence I have put the whole article as an image.Please see that.

Note : If it's not clear then just click on the image.After that it'll open on a browser.Then click again on it to zoom :)

enter image description here