报告没有像预期的那样使用缓存数据集



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

我遇到的问题是缓存不一致地工作。某一天,所有报表都使用早晨缓存,第二天只有少数报表使用早晨缓存,其他报表提取实时数据(这意味着需要几分钟才能加载)。我已经进入并清除了每个客户端的缓存,第二天一切都很好,但是几天过去了,它又回到了不一致的状态。

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

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

我明白是怎么回事了。由于所有报表都在同时尝试缓存,因此并非所有缓存都成功保存到报表服务器。我错开了缓存时间,这就解决了我的问题

最新更新