1

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

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

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

4

1 回答 1

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 理解缓存技术

于 2012-10-04T11:44:12.523 回答