gpt4 book ai didi

asp.net - HttpRuntime.Cache 不适合网络农场?

转载 作者:行者123 更新时间:2023-12-02 00:14:19 39 4
gpt4 key购买 nike

我听说 HttpRuntime.Cache 不适合与网络场一起使用。这是为什么?有哪些解决此问题的好示例?我听说过Memcached和类似的产品,但我找不到任何显示基本用法的最新示例。

最佳答案

服务器场中 HttpRuntime.Cache 的一个问题是缓存中的大部分数据将在服务器之间重复。

例如,假设您有一个电子商务网站,并将产品目录存储在缓存中(因为它很少更改),这需要 20M 内存。如果您有 5 个 Web 服务器,每个服务器的缓存中都会有自己的产品目录副本,总共使用 100M 内存(20M * 5 个服务器)。使用像 memcached 这样的共享缓存可以仅存储缓存项目的一份副本而不是 5 个副本(每个服务器一个),从而消除了这种浪费。

另一个问题是缓存同步。再次假设您从数据库检索产品目录后将其缓存 1 小时。每个服务器都可以在其缓存中拥有一份目录副本,该副本在不同时间到期。当一台服务器上的缓存过期时,它可以获得其他服务器尚未获得的更新数据。

这可能会导致奇怪的用户体验,他们可能会看到某个类别中的 50 个产品,然后刷新页面,发送到不同的服务器,然后看到 51,再次刷新并再次看到 50,等等。使用共享缓存,你不必担心这个。

关于asp.net - HttpRuntime.Cache 不适合网络农场?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10643272/

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