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