如果快取項目在相關資料庫中的資料發生變更時沒有被永久清除,則查詢可能會傳回過時的結果。
您必須評估是否可接受這種情況。允許快取包含一些過時資料可能是可接受的情況。您必須決定哪種層級的過時資料是可接受的,然後設定 (並依循) 一組規則來反映這些層級。
例如,假設應用程式分析來自一個大型聚集項的公司資料,而您要執行該公司中不同部門的年度摘要。新資料並不會實質影響查詢,因為新資料只會影響下一年度的摘要。在此情況下,權衡取捨以決定是否要將快取永久清除時,可能會偏向將項目留在快取中。
不過,假設資料庫一天會更新三次,而您要執行當天活動的查詢。在此情況下,您就必須更常將快取永久清除,或是可能考慮完全不使用快取。
另一種情況是,您依定期間隔 (例如每週一次) 從頭開始重建資料集。在此範例中,您可以在重建資料集的過程中一併將整個快取永久清除,確保快取中一律不會有過時資料。
不論是哪一種情況,您都必須評估將哪些非目前的資訊傳回給使用者是可接受的。