gpt4 book ai didi

asp.net - 简单.NET分布式缓存解决方案的建议

转载 作者:IT王子 更新时间:2023-10-29 05:57:36 26 4
gpt4 key购买 nike

我们的生产 Web 服务器有一台运行 Windows Server 2003 的服务器。我们的网站有不同的模块,每个模块都在自己的应用程序池中运行。这使得缓存成为一个问题,因为每个模块都有自己的缓存,并且多个模块经常缓存相同的项目。问题是当一个模块中的缓存项发生更改时,缓存相同项的另一个模块无法轻松刷新。

我们的网站是用 ASP.NET 4.0 编写的,我们使用标准的 HttpRuntime.Cache 对象作为简单的键/值存储来缓存数据集、业务对象、集合、列表等。我们不使用任何文件依赖性,但我们确实使用了时间过期。我们同时只有大约 400 个用户,所以我们不会做任何太疯狂的事情。

这听起来像是某种共享/分布式缓存可以帮助解决这个问题,但我不确定该使用哪个,或者是否最好推出我们自己的缓存,因为我们不需要大多数可用的功能我见过的产品。我看过一些使用 WCF 的示例,但大多数人建议不要在生产中使用他们的示例,而且我对 WCF 知之甚少。

我正在寻找简单、快速、轻量级、可以安全地在生产环境中运行的东西,如果可能的话最好是免费的,但这不是必须的。它需要在 Windows Server 2003 上运行并使用 ASP.NET 4.0。

有什么建议或信息吗?

最佳答案

像 redis 和 memcached 这样的东西听起来简单、快速、轻量级和安全,它们可以作为中央缓存非常有效。对于 stackoverflow,我们通过 BookSleeve(客户端)使用 redis,但大多数商店的工作方式类似。还有一个 AppFabric 缓存,但要复杂得多。

不过要点:

  • 您的数据需要以某种方式序列化
  • 如果您目前正在使用大型对象的缓存(如大型 DataTable),您需要考虑带宽影响,或者使其更细化
  • 您可能会受益于 2 层缓存(一个本地内存,中央存储作为辅助)
  • 这意味着您还需要考虑失效(我们通过 redis 中的 pub/sub API 来实现)

关于asp.net - 简单.NET分布式缓存解决方案的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8432499/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com