gpt4 book ai didi

caching - 何时使用 Azure 缓存本地缓存

转载 作者:行者123 更新时间:2023-12-03 01:11:47 24 4
gpt4 key购买 nike

我想开始使用 Azure 分布式缓存并遇到了 LocalCache 的概念。但事实上,它可能与分布式缓存不同步,这让我想知道为什么我要使用它以及如何安全地使用它。

启用后,从缓存集群检索的项目将本地存储在客户端计算机的内存中。这提高了后续 get 请求的性能,但可能会导致本地缓存版本与缓存集群中实际项之间的数据不一致。

调用 DataCache.GetIfNewer 是确保获得最新版本的一种选择,但这要求我仍然调用分布式缓存,传入我想要检查的对象,以查看两者是否相同版本不同。

我可以使用通知来使 LocalCache 对象无效,但这是在轮询的基础上完成的,这为在轮询期间发生更新提供了机会,从而使我留下陈旧的数据。

那么,我为什么要使用 LocalCache?如果有理由这样做,我该如何安全地使用它?

最佳答案

"There are only two hard things in Computer Science: cache invalidation and naming things" - Phil Karlton

当 a) 性能至关重要 b) 您不关心检索到的对象可能已过时时,您将使用 LocalCache。

在很多情况下,对象永远不会过时(例如公共(public)/银行假期列表),或者当您不太担心是否 100% 是最新的时(例如,如果项目有 >库存 1000 件,使用本地缓存,否则从数据库重新获取)。

不要尝试使本地缓存失效。如果您需要更多最新的对象,请从集群中获取它们。如果您不能容忍不同步的数据,请从数据库中获取它。缓存始终是性能不一致的折衷方案 - LocalCache 比服务器缓存更多,但服务器缓存仍然是一个折衷方案。

关于caching - 何时使用 Azure 缓存本地缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15897125/

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