【发布时间】:2014-07-28 16:54:30
【问题描述】:
在 WCF 应用程序中,我在数据库中有 80k+ 行很少更改。我想将它们缓存在内存中以便更快地查找。我应该能够在需要时驱逐他们。我为它找到了一些 C# 库。其中一些在内部使用 MemoryCache,而另一些则使用 ConcurrentDictionary。由于 MemoryCache 和 ConcurrentDictionary 都是线程安全的,我应该选择 MemoryCache 还是反之亦然?
【问题讨论】:
-
是否可以通过外部源更改任何数据行,例如计划的控制台应用程序?是否有多个前端服务共享缓存?有任何可扩展性要求吗?
-
我已经有 redis 用于缓存。这个 API 将位于 redis 之上,存储一小部分非常频繁访问的 redis 数据。外部源可以更新redis中的数据。如果发生这种情况,API 应该能够同步。
标签: c# wcf memorycache concurrentdictionary