将asp.net缓存存储在sql server数据库中

时间:2012-10-04 11:07:26

标签: asp.net database caching

我们的项目使用HttpRuntime.Cache.GetHttpRuntime.Cache.Insert来存储和检索缓存中的数据。

是否可以将此缓存存储在SQL Server数据库中?

通过数据,我指的是各种不同的对象类型。

1 个答案:

答案 0 :(得分:2)

HttpRuntime Cache绑定到当前应用程序的appdomain,您可以控制它的存储方式。它对缓存执行智能管理,例如在内存不足时缓存中的生命周期结束之前清除对象。在内存中使用缓存的要点是可以快速访问缓存的对象。您无法控制数据的存储位置和方式。

如果您有理由将数据存储在流程之外,则可以实现自己的缓存。

public class DatasetStore : MarshalByRefObject
{
   // A hash table-based data store
   private Hashtable htStore = new Hashtable();
   //Returns a null lifetime manager so that GC won't collect the object 
   public override object InitializeLifetimeService() {  return null; }

   // Your custom cache interface
}

例如,您可以在多个应用程序域之间共享此缓存。

MSDN Understanding Caching Technologies