使高速缓存保持最新

如果底层数据库中的数据更改时未清除高速缓存条目,则查询可能会返回过时的结果。

您必须评估这种情况是否可接受。也许可接受以允许高速缓存包含一些过时数据。您必须确定哪个级别的过时数据可接受,然后配置(和遵循)一组规则以反映这些级别。

例如,假定一个应用程序分析某个大型企业集团的公司数据,并且您要对公司的不同部门进行年度汇总。新数据不会实际影响查询,因为新数据仅影响下一年的汇总。在这种情况下,在权衡是否清除高速缓存时,可能倾向于保留高速缓存中的条目。

但是,假定数据库一天更新三次,并且您要对当天的活动执行查询。在这种情况下,必须清除高速缓存且清除频率要高得多,或者可能考虑根本不使用高速缓存。

另一种情况是定期(例如每周一次)从头开始重建数据集。在此示例中,可以在重建数据集的过程中清除整个高速缓存,从而确保高速缓存中绝不会有过时数据。

无论哪种情况,都必须评估向用户返回非当前信息时,哪些是可接受的。