我想使用System.Runtime.Caching命名空间向我的应用程序添加缓存功能,并且可能希望在几个地方和不同的上下文中使用缓存.为此,我想使用几个MemoryCache实例.
但是,我在这里看到不鼓励使用多个MemoryCache实例:
MemoryCache不是单例,但是您应该只创建一些或者可能只创建一个MemoryCache实例,缓存项目的代码应该使用这些实例.
多个MemoryCache实例将如何影响我的应用程序?我发现这种奇怪,因为在我看来,在应用程序中使用多个缓存是一种非常常见的情况.
编辑:更具体地说,我有一个类应该为每个实例保留一个缓存.我应该避免使用MemoryCache并寻找不同的缓存解决方案吗?MemoryCache在这种情况下使用是否被认为是坏的,如果是这样,为什么?
MemoryCache默认带有默认缓存,可以创建其他命名缓存.
看起来在不同实例中隔离不同进程的结果的缓存可能是有利的.例如,针对索引的查询结果可以缓存在"IndexQueryResult"缓存中,并且数据库查询的结果可以缓存在"DatabaseQueryResult"缓存中.这是相当做作的,但解释了原则.
导致驱逐的一个缓存上的内存压力是否会影响其他缓存?.Net管理多个缓存与管理多个缓存的方式有什么不同吗?
我是在浪费时间考虑多个缓存的想法,还是这样做有实际价值?