我想开始使用 Azure 分布式缓存并遇到了 LocalCache 的概念。但它可能与分布式缓存不同步的事实让我想知道,我为什么要使用它以及如何安全地使用它。
启用后,从缓存集群检索的项目本地存储在客户端计算机的内存中。这提高了后续 get 请求的性能,但可能导致本地缓存版本与缓存集群中的实际项目之间的数据不一致。
调用 DataCache.GetIfNewer 是确保获得最新版本的一种选择,但这要求我仍然调用分布式缓存,传入我要检查的对象,以查看两个版本是否不同。
我可以使用通知使 LocalCache 对象无效,但这是在轮询的基础上完成的,这为在轮询期间发生更新提供了机会,从而使我得到过时的数据。
那么,我为什么要使用 LocalCache,如果有理由这样做,我如何安全地使用它?