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