.NET framework 4.0 MemoryCache与ObjectCache?有什么区别?在哪里使用哪个对象?
das*_*ash 65
ObjectCache是一个抽象类,它演示了如何构建一个符合编写ObjectCache的人要遵守的规则的Cache.您无法直接实例化ObjectCache,因为它是抽象的.
MemoryCache是ObjectCache 的实际实现.
从文档:
表示对象缓存,并提供用于访问对象缓存的基本方法和属性.
表示实现内存高速缓存的类型.
查看MemoryCache的声明:
public class MemoryCache : ObjectCache,
IEnumerable, IDisposable
Run Code Online (Sandbox Code Playgroud)
我们可以看到MemoryCache继承自ObjectCache - 也就是说,它是使用Memory作为其存储的对象的缓存 - 因此它是ObjectCache的一个实现.
你可以写自己的; 例如,DatabaseCache,它也可以从ObjectCache继承,但它会使用数据库作为后备存储.
对于日常使用,只要满足您的需求,您就可以使用和使用MemoryCache.如果您想编写自己的,可以从ObjectCache继承并实现所需的方法和属性.然而,实际上,这样做可能没有什么实际好处,因为微软已经提供了其他几种缓存解决方案,就像许多其他供应商一样.
Son*_*nül 16
从MSDN;
ObjectCache类型是内存中对象缓存的主要类型.内置的MemoryCache类派生自ObjectCache类.MemoryCache类是.NET Framework 4中唯一的派生自ObjectCache类的具体对象缓存实现.
public class MemoryCache : ObjectCache,
IEnumerable, IDisposable
Run Code Online (Sandbox Code Playgroud)
MemoryCache继承自ObjectCache.
您可以MemoryCache像这样获得对默认实例的引用;
public static ObjectCache cache = MemoryCache.Default;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27799 次 |
| 最近记录: |