9
キャッシュの無効化—一般的な解決策はありますか?
「コンピューターサイエンスには、キャッシュの無効化と名前の付け方という2つの難しい問題しかありません。」 フィル・カールトン キャッシュを無効にする一般的な解決策または方法はありますか?エントリが古くなったことを知るために、常に最新のデータを取得することが保証されていますか? たとえばgetData()、ファイルからデータを取得する関数について考えます。ファイルが最後に変更された時刻に基づいてキャッシュされ、呼び出されるたびにチェックされます。 次にtransformData()、データを変換する2番目の関数を追加し、その関数が次に呼び出されるときにその結果をキャッシュします。それはファイルの知識を持っていません-ファイルが変更された場合、このキャッシュが無効になるという依存関係をどのように追加しますか? が呼び出さgetData()れるたびに呼び出しtransformData()、それをキャッシュの構築に使用された値と比較できますが、結果として非常にコストがかかる可能性があります。