在服务结构中实现缓存支持

时间:2019-04-03 10:45:45

标签: azure caching azure-service-fabric azure-redis-cache

我正在一个项目中,我将在其中调用Service Fabric方法并将数据返回给最终用户。数据很少被修改或几乎保持不变,因此我想维护一个缓存,如果数据未修改则返回它。

项目结构为:WepApi(无状态服务)->存储库-> SatefulService

在Azure Service Fabric中实现此目的的最佳方法是什么?我在考虑两种选择:

  1. Redis缓存 一种。创建一个Redis缓存项目,该项目将公开两个用于存储和获取缓存数据的端点。该项目将在存储库层中引用。 b。创建Redis缓存服务(服务结构)并从存储库中调用。
  2. 状态服务 一种。在现有的有状态服务中创建一个单独的字典,并将其用于获取和存储数据。

而且,我还有以下问题。

方法1:

  1. 我们必须依靠第三方系统(Redis缓存),如果服务器不可用,我们可能无法获得准确的结果。

方法2:

  1. 如果缓存数据随时间增加,我们可能会遇到性能问题。

在服务结构中实现缓存的最佳方法是什么?

谢谢

1 个答案:

答案 0 :(得分:1)

可靠的收集是为提高性能而设计的,因为它们在进程中运行,并且如果有足够的可用内存,则数据会保存在内存中(在您的情况下,可以保存一万条记录)。与内存中的常规词典相比,唯一的减慢是可靠的词典在读取时必须保持事务一致性,但是我想您仍然需要这种一致性吗?