我们的项目使用HttpRuntime.Cache.Get
andHttpRuntime.Cache.Insert
来存储和检索缓存中的数据。
是否可以将此缓存存储在 SQL Server 数据库中?
通过数据,我指的是各种不同的对象类型。
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
}
例如,您可以在多个应用程序域之间共享此缓存。