我正在尝试在我的应用程序中实现缓存。我们正在使用 Oracle 数据库、asp.net web api 向 ui 提供数据。Api 调用需要更多时间,所以我们正在考虑实现缓存。我们的代码部署在 2 台带有负载均衡器的服务器上。应该如何实现缓存。我打算实现的是,任何服务器上都应该有一个服务 API,这个 API 会将所有数据存储在内存中。ui 将调用我们现有的 API,hit 可以到达任何节点,然后这个 api 将从新的 api(缓存)获取数据并将其提供给 ui。这种架构是否适用于分布式缓存。任何人都可以分享他们的经验或实施指导吗?
问问题
182 次
1 回答
0
您可能需要检查 NCache。作为一种分布式缓存解决方案,它为在多个客户端之间共享缓存数据提供了一流的支持,因为 ache 进程在任何一个应用程序地址空间的地址之外自主运行。
对于您的情况,负载平衡的 Web 场中的每个 Web 服务器都将是 NCache 的客户端,并且可以直接访问缓存服务器。作为中央缓存解决方案的客户端的所有 Web 服务器将通过简单易用的 NCache API 看到相同的缓存数据。通过插入、更新或删除缓存操作进行的任何修改都将立即被所有 Web 服务器观察到。
智能驱动 NCache 允许在分布缓存实例的多个缓存服务器节点之间无缝地处理存储和分发缓存数据的所有任务。
此外,所有缓存操作都完全独立于用于数据库内容检索的框架,并且可以同样适用于 NHibernate、EF、EF Core,当然还有 ADO.NET。
您可以使用以下链接找到有关如何将 NCache 集成到您的网络场环境中的更多信息以及更多信息:
http://www.alachisoft.com/resources/docs/ncache/admin-guide/ncache-architecture.html
于 2019-02-21T09:34:11.780 回答