【问题标题】:Recommendations for in-memory object cache for .net.net 内存对象缓存的建议
【发布时间】:2011-03-16 07:04:54
【问题描述】:

我想知道人们对 .net 内存缓存解决方案的体验如何。

我们需要一个(最好是免费的)进程外缓存解决方案,我们可以在多个不同的网站(不同的应用程序池)以及一些定期运行的控制台应用程序之间共享它。

到目前为止,我们已经尝试了一些解决方案,这两种解决方案都很好,但会引发一些问题,使其不太适合生产:

1) 带有 .net 客户端的 win32 Memcached

我们的第一个解决方案是使用 memcached 的 win32 端口 (http://jehiah.cz/projects/memcached-win32/) 和一个 .net 客户端库 (http://sourceforge.net/projects/memcacheddotnet/)。

它很好并且运行了一段时间没有问题,但随后我们开始看到很多无法解释的错误 - 客户端库将无法写入缓存。不确定这是否是 memcached 的 win32 端口或客户端库的问题,但我对使用相同解决方案的其他人缺乏可见性感到不舒服,并寻找一个纯 .net 解决方案,这导致我...... .

2) 共享缓存

看起来不错,似乎在社区中很受欢迎。设置起来非常简单,并且提供了比我们之前的解决方案更多的功能(例如,能够获取所有缓存对象的列表)。这看起来是一个非常好的解决方案,但我们最近开始看到一些问题正在蔓延:

  • 内存消耗,有一个问题是它没有很好地释放内存,即使我们只保存了 30M 的缓存数据,服务也使用了 700M
  • 尝试从缓存中检索对象时偶尔会出现 CacheExceptions(尤其是对于较大的缓存对象)

所以这两种解决方案都不是正确的。我很想知道其他人正在采用什么解决方案。有关信息,我们的服务器设置目前只有 32 位 windows box,因此我们没有专用的 linux memcached 服务器选项。

【问题讨论】:

    标签: .net asp.net caching memcached


    【解决方案1】:

    微软有艺术家原名Velocity,现在自带Windows Server AppFabric

    【讨论】:

    • 谢谢,我以前听说过velocity,但没有真正尝试过。看起来像一个尝试..
    【解决方案2】:

    所以最后虽然 appfabric 看起来很有希望,但它似乎对我们的需要来说太多了,而且使用起来非常棘手,所以我们坚持使用 sharedcache,内存消耗对我们来说是可控的..

    我想企业中的大多数人都在使用 NCache..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-11
      相关资源
      最近更新 更多