【发布时间】:2020-08-20 04:50:30
【问题描述】:
我有一个使用服务器端缓存的 MVC API 项目。它部署到 Azure 应用服务。我想知道利用应用服务本地缓存来克服保持缓存在节点之间同步的挑战。这是正确的方法吗?如果是,我如何从我的代码中修改缓存。 PS:我对使用 Redis Cache 不太感兴趣。
【问题讨论】:
标签: c# azure caching server azure-appservice
我有一个使用服务器端缓存的 MVC API 项目。它部署到 Azure 应用服务。我想知道利用应用服务本地缓存来克服保持缓存在节点之间同步的挑战。这是正确的方法吗?如果是,我如何从我的代码中修改缓存。 PS:我对使用 Redis Cache 不太感兴趣。
【问题讨论】:
标签: c# azure caching server azure-appservice
我想利用应用服务本地缓存来克服保持缓存跨节点同步的挑战。
跨节点同步是什么意思?多个 webapp 应用程序是否共享缓存数据?
HttpRuntime.Cache只能在单个webapp应用中使用,其他webapp不能访问。一旦创建了每个缓存,它就会占用服务器资源。所以从这一点我们可以说:并不是缓存越多越好。缓存有时间限制。过了服务器设置的过期时间,会被服务器回收。缓存可以存储任何对象。
所以如果要跨站点共享缓存数据是不可能实现的,这就是redis缓存出现的原因。
如果你真的不想使用redis缓存,那么你可以将需要的数据存储在sql server中。这只能是一个替代方案,而不是最好的。
【讨论】: