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設定可能會使用以時間為基礎的快取失效。 在這種情況下,/enableTTL "1"應該存在於dispatcher.any.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f