予期せずDispatcher キャッシュファイルが更新される | AEM
キャッシュ無効化リクエストおよびコンテンツリクエストのログを収集して、パターンを探します。 「解決」セクションで、3 つの異なるシナリオを確認します。
説明 description
環境
Adobe Experience Manager(AEM)
問題
Dispatcher キャッシュファイルが、予期しないタイミングや頻度で更新されることがあります。
解決策 resolution
コンテンツを公開する際に、Adobe Experience Manager(AEM)がキャッシュ無効化リクエスト (GET /dispatcher/invalidate.cache)をDispatcherに送信します。 その後、Dispatcherにコンテンツのリクエストが来ると、キャッシュファイルを更新します。
この動作に基づいて、キャッシュ無効化リクエストおよびコンテンツリクエストのログを収集し、パターンを探します。
無効化リクエストのログの例:
Dispatcher - access_log
127.0.0.1 - - [ 07/Jun/2022:13:44:35 +0900] "GET /dispatcher/invalidate.cache HTTP/1.1" 200 13 "about:blank" "Jakarta Commons-HttpClient/3.1"
Dispatcher - dispatcher.log
[ 07/Jun/2022:13:44:35 +0900] "GET /dispatcher/invalidate.cache HTTP/1.1" 200 purge [ publish/-] 0ms
Publish - error.log
07.06.2022 13:44:35.750 *INFO* [ sling-threadpool-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-(apache-sling-job-thread-pool)-1-com_day_cq_replication_job_flush(com/day/cq/replication/job/flush)] com.day.cq.replication.Agent.flush Sending GET request to http://localhost:80/dispatcher/invalidate.cache
...
07.06.2022 13:44:35.758 *INFO* [ sling-threadpool-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-(apache-sling-job-thread-pool)-1-com_day_cq_replication_job_flush(com/day/cq/replication/job/flush)] com.day.cq.replication.Agent.flush Replication (ACTIVATE) of /content/xx-xxxxxx/us/en/products successful.
原因:
次に、Dispatcher キャッシュファイルが予期せず更新される典型的なケースを示します。
ケース 1 – 予期しないコンテンツに対する頻繁なキャッシュの更新
キャッシュファイルは、頻繁に更新されますが、更新された内容は、キャッシュ無効化リクエストの対象にはなりません。
この場合、Dispatcher設定の /statfileslevel の値が低すぎる可能性があります。 dispatcher.any で /statfileslevel をコメントアウトすると、この値にとって「0」を意味することに注意してください。
/statfileslevel "0" でコンテンツを公開すると、パスに関係なく、すべてのキャッシュファイルが無効となります。以下のAEM Dispatcher ガイドのリンクに詳細が記載されています。
Dispatcherの設定 – フォルダーレベルによるファイルの無効化
ケース 2 – 好ましくないクライアントからのキャッシュ無効化リクエスト
Dispatcher設定に、キャッシュ無効化リクエストに対する適切な制限がない可能性があります。 dispatcher.any. で /allowedClients をチェック
ケース 3 - キャッシュ無効化リクエストがない
Dispatcher設定では、時間ベースのキャッシュ無効化を使用できます。 この場合、dispatcher.any. に /enableTTL "1" が存在する必要があります