0

我有一个使用共享数据集的报告。它还有几个不同的切片器用于查看数据。数据集非常大,因此我为它创建了一个缓存,因此每次用户单击切片器时都不会花费很长时间来加载。缓存设置为每天凌晨 3:30 到期,并在凌晨 4 点刷新。该报告将被 15 个不同的客户使用,我的公司为每个客户设置了一个单独的数据库。因此,报告有 15 个版本,每个版本都有不同的数据源。

我遇到的问题是缓存无法始终如一地工作。一天,所有报告都从早间缓存中运行,第二天只有少数报告使用早间缓存,而其他报告则提取实时数据(这意味着加载需要几分钟)。我已经进入并清除了每个客户端的缓存,第二天一切正常,但是几天过去了,它又回到了不一致的状态。

我的一个想法是可能存储了同一个缓存的多个副本,并且报告不知道要使用哪个,因此它不使用任何副本。这不应该发生,因为缓存在刷新前半小时被清除,但这可能吗?我认为如果有多个缓存副本,报告将使用最新的。

我的另一个想法是,因为同时缓存了 15 个具有相同参数的报告,这可能会使报告混淆。我认为它会使用与其数据源关联的缓存,但这会发生吗?我是否应该向具有客户端名称的数据集添加一个参数,以免混淆?

关于可能导致此问题的任何其他想法都会有所帮助,谢谢。

4

1 回答 1

0

我弄清楚发生了什么。由于所有报表都尝试同时缓存,因此并非所有缓存都成功保存到报表服务器。我错开了缓存时间,这解决了我的问题

于 2016-10-03T13:15:17.190 回答