我们有 2 台服务器运行一个带有简单负载平衡的 asp.net mvc 应用程序。两个应用程序目前都使用 system.runtime.caching 缓存内容。我们想将所有这些都移动到 redis,因此我们有 1 个中央缓存,而不是 2 个服务器,每个服务器都有自己的。
只需使用 redis 调用更改 system.runtime.caching 调用会很简单。但是如何同步从 2 台服务器对 redis 的访问呢?当缓存项过期以从数据库加载时,可以锁定对 redis 的调用,但由于有 2 个服务器,因此有 2 个 Web 应用程序,这似乎是不可能的。
我们正在考虑设置一个 Web api 服务,以便两个 Web 应用程序在需要缓存项目时与之通信。这是要走的路吗?还是有其他解决方案需要考虑?
我知道这是一个微不足道的问题,但我希望有经验的人能给我们一些指示。