我们有一个托管在 azure 上的 asp.net mvc 应用程序,有 2 个实例。最近我们正在尝试实现内存缓存技术。但它在两台服务器中存储缓存的方式不同(不一致)。有人可以在不使用 Redis 缓存的情况下帮助解决这个问题吗?
使用 2 个 azure 实例实现内存技术 system.runtime.caching
请查看Azure 架构中心,对于此类问题来说,它是非常宝贵的资源。
云应用程序最佳实践下的缓存指南文章中描述了您的缓存选项(或者更好:缓存最佳实践)。
分布式应用程序中的缓存
分布式应用程序在缓存数据时通常会实现以下策略之一或全部:
- 它们使用私有缓存,其中数据保存在运行应用程序或服务实例的计算机本地。
- 它们使用共享缓存,作为可由多个进程和机器访问的公共源。
在这两种情况下,缓存都可以在客户端和服务器端执行。客户端缓存是由为系统(例如 Web 浏览器或桌面应用程序)提供用户界面的进程完成的。服务器端缓存是由提供远程运行的业务服务的进程完成的。
这是一篇非常广泛的文章,甚至包含特定类型实现的代码示例。