2012-10-04 140 views
1

我们的项目使用HttpRuntime.Cache.GetHttpRuntime.Cache.Insert来存储和检索缓存中的数据。在sql server数据库中存储asp.net缓存

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

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

+0

那么我认为这是possible..but我想知道这将是多么有效使用从数据库高速缓存信息.. –

回答

2

HttpRuntime缓存绑定到当前应用程序的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