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

问题描述 投票:0回答:1

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

项目结构是:Web Api(无状态服务) - >存储库 - > SatefulService

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

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

而且,我也有以下问题。

方法#1:

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

方法#2:

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

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

谢谢,

azure caching azure-service-fabric azure-redis-cache
1个回答
1
投票

可靠的集合是为性能而设计的,它们在进程中运行,如果有足够的可用内存,数据将保存在内存中(在您的情况下,对于一万条记录应该没问题)。与内存中的常规字典相比,唯一的减速是可靠的字典必须在读取时保持事务一致性,但我认为你还需要这种一致性吗?

© www.soinside.com 2019 - 2024. All rights reserved.