我有一个使用共享数据集的报告。它还有几个不同的切片器用于查看数据。数据集非常大,因此我为它创建了一个缓存,因此每次用户单击切片器时都不会花费很长时间来加载。缓存设置为每天凌晨 3:30 到期,并在凌晨 4 点刷新。该报告将被 15 个不同的客户使用,我的公司为每个客户设置了一个单独的数据库。因此,报告有 15 个版本,每个版本都有不同的数据源。
我遇到的问题是缓存无法始终如一地工作。一天,所有报告都从早间缓存中运行,第二天只有少数报告使用早间缓存,而其他报告则提取实时数据(这意味着加载需要几分钟)。我已经进入并清除了每个客户端的缓存,第二天一切正常,但是几天过去了,它又回到了不一致的状态。
我的一个想法是可能存储了同一个缓存的多个副本,并且报告不知道要使用哪个,因此它不使用任何副本。这不应该发生,因为缓存在刷新前半小时被清除,但这可能吗?我认为如果有多个缓存副本,报告将使用最新的。
我的另一个想法是,因为同时缓存了 15 个具有相同参数的报告,这可能会使报告混淆。我认为它会使用与其数据源关联的缓存,但这会发生吗?我是否应该向具有客户端名称的数据集添加一个参数,以免混淆?
关于可能导致此问题的任何其他想法都会有所帮助,谢谢。