【问题标题】:Cache Farming, Read Pools缓存农场,读取池
【发布时间】:2011-02-08 18:40:09
【问题描述】:

我有一个在 100 台服务器上运行的应用程序。这个应用程序与我不喜欢的 nosql 数据库通信。 100 台服务器创建会话、锁定、提交等。

我想建立一个缓存场或脏的真实池,IIS 服务器将去那里读取数据和对象。缓存每隔一段时间就会过期。等等

关键是要避免从这 100 台服务器访问数据库。

你会为这个缓存场使用什么?

WCF?休息?最佳实践和模式缓存块?还是 Windows AppFabric?

我已经有一层分布式缓存,所以不用考虑。

你会选择什么架构?有什么建议或案例研究吗?

【问题讨论】:

  • 你为什么不想要一个分布式缓存?不是你说的吗?
  • 我已经有分布式缓存了。我使用了速度缓存,它仍然是 alpha(死)变成了 azure(或其他)。不支持。

标签: c# .net asp.net caching


【解决方案1】:

我们在这里讨论的数据量是多少?几KB?一个MB?一百GB?

如果不是后者,请使用现有的缓存服务之一,而不是重新发明轮子。基于 C# 标记和 IIS 的提及,我假设您正在运行 Windows。因此,我建议您查看Memcached

来自 Memcached 页面:

免费和开源、高性能、分布式内存对象缓存系统,本质上是通用的,但旨在通过减轻数据库负载来加速动态 Web 应用程序。

Memcached 是一种内存键值存储,用于存储来自数据库调用、API 调用或页面渲染结果的任意数据(字符串、对象)的小块。

我自己在与您描述的环境类似的环境中使用过 Memcached(使用 MS SQL 而不是 nosql 进行数据存储)。经过第一轮缓存调整后,我们没有遇到任何问题。

如果不了解您的具体要求,很难说 Memcached 是否是正确的解决方案,但它肯定是值得研究的。可以在这里找到他们的 FAQ Wiki 作为参考:

http://code.google.com/p/memcached/wiki/FAQ

【讨论】:

  • 我想。使用 memcache 更新会很慢。我需要每隔一段时间更新一次信息。目前我正在使用速度缓存,它每 10 分钟过期一次。并再次从数据库加载数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-01
  • 2017-10-13
  • 2010-09-21
  • 2011-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多