キャッシュの無効化

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

キャッシュの無効化は、キャッシュ内のエントリが置き換えられるか削除される コンピュータシステムのプロセスです。

キャッシュコヒーレンスプロトコルの一部として、明示的に実行できます。このような場合、プロセッサはメモリの場所を変更してから、コンピュータシステムの残りの部分でそのメモリの場所 のキャッシュされた値を無効にします。

明示的な無効化

キャッシュの無効化を使用して、新しいコンテンツをクライアントにプッシュできます。この方法は、接続されたクライアントに新しいコンテンツを表示する他の方法の代替として機能します。無効化は、アプリケーションデータを変更することによって実行されます。これにより、クライアントが受信した情報が古いものとしてマークされます。キャッシュが無効になった後、クライアントがキャッシュを要求すると、新しいバージョンが配信されます。[1]

メソッド

キャッシュを無効にする特定の方法は3つありますが、すべてのキャッシュプロキシがこれらの方法をサポートしているわけではありません。

パージ

キャッシュプロキシからコンテンツをすぐに削除します。クライアントがデータを再度要求すると、データはアプリケーションからフェッチされ、キャッシングプロキシに保存されます。このメソッドは、キャッシュされたコンテンツのすべてのバリアントを削除します。[1]

更新

キャッシュされたコンテンツが利用可能な場合でも、アプリケーションから要求されたコンテンツをフェッチします。以前にキャッシュに保存されていたコンテンツは、アプリケーションの新しいバージョンに置き換えられます。このメソッドは、キャッシュされたコンテンツの1つのバリアントにのみ影響します。[1]

禁止

キャッシュされたコンテンツへの参照がブラックリスト(または禁止リスト)に追加されます。次に、クライアントリクエストがこのブラックリストと照合され、リクエストが一致した場合、新しいコンテンツがアプリケーションからフェッチされ、クライアントに返され、キャッシュに追加されます。[1]

この方法は、パージとは異なり、キャッシュされたコンテンツをキャッシングプロキシからすぐに削除しません。代わりに、クライアントがその特定の情報を要求した後、キャッシュされたコンテンツが更新されます。

代替案

更新されたコンテンツをクライアントに配信するキャッシュ無効化の代替手段がいくつかあります。1つの代替方法は、存続時間(TTL)を非常に低い値に減らすことにより、キャッシュされたコンテンツをすばやく期限切れにすることです。もう1つの方法は、各リクエストでキャッシュされたコンテンツを検証することです。3番目のオプションは、クライアントから要求された揮発性コンテンツをキャッシュしないことです。これらの代替手段は、情報の要求が頻繁になるためにアプリケーションに高い負荷がかかるため、問題を引き起こす可能性があります。[1]

短所

複数のオブジェクトを無効化する場合、無効化を使用して新しいコンテンツを転送するのは難しい場合があります。複数の表現を無効にすると、アプリケーションがある程度複雑になります。キャッシュの無効化は、キャッシングプロキシを介して実行する必要があります。これらの要求は、キャッシングプロキシのパフォーマンスに影響を与え、情報がクライアントに転送される速度が遅くなる可能性があります。[1]

参考文献

  1. ^ a b c d e f 「キャッシュ無効化の概要—FOSHttpCacheドキュメント」foshttpcache.readthedocs.org 2016年1月2日取得