【问题标题】:what are the most efficient ways to use in-memory caching in C# [closed]在 C# 中使用内存缓存的最有效方法是什么 [关闭]
【发布时间】:2014-07-28 16:54:30
【问题描述】:

在 WCF 应用程序中,我在数据库中有 80k+ 行很少更改。我想将它们缓存在内存中以便更快地查找。我应该能够在需要时驱逐他们。我为它找到了一些 C# 库。其中一些在内部使用 MemoryCache,而另一些则使用 ConcurrentDictionary。由于 MemoryCache 和 ConcurrentDictionary 都是线程安全的,我应该选择 MemoryCache 还是反之亦然?

【问题讨论】:

  • 是否可以通过外部源更改任何数据行,例如计划的控制台应用程序?是否有多个前端服务共享缓存?有任何可扩展性要求吗?
  • 我已经有 redis 用于缓存。这个 API 将位于 redis 之上,存储一小部分非常频繁访问的 redis 数据。外部源可以更新redis中的数据。如果发生这种情况,API 应该能够同步。

标签: c# wcf memorycache concurrentdictionary


【解决方案1】:

实际上,它们都可以做你想做的事 - 将数据存储在内存中。

不同之处在于 MemoryCache 允许您设置缓存策略和过期时间,如果您要使用字典,则可能需要手动编写。

如果您需要对此进行扩展,请考虑使用memcachedredis

【讨论】:

  • +1 提到可扩展性!
猜你喜欢
  • 2011-11-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-19
  • 2020-06-04
  • 2018-08-11
  • 2023-01-15
  • 1970-01-01
  • 2011-01-18
相关资源
最近更新 更多