WordPress + Redis Object Cache の組み合わせで404ページ

wordpress_logo Linux
wordpress_logo

Redis Object Cacheの整合性について

WordPress + Redis Object Cache の組み合わせで、たまに404ページや画像が表示されないケースが増えてきました

これは、Redis に格納されたキャッシュやオブジェクトの整合性に問題があるケースが多いです

Redisキャッシュの整合性崩壊(破損または古いデータ)

WordPressのオブジェクトキャッシュは「投稿データ」「パーマリンク情報」「添付ファイルメタ情報」などもキャッシュするため、
テーマ変更・プラグイン更新・URL構造変更時に古い情報が残ると、正しいURL→404扱い となることがあります。

ページキャッシュ or Nginx/Apacheレベルのキャッシュと衝突

Redis Object Cache は「データベースクエリ」や「オブジェクト構造」をキャッシュしますが、
それとは別に ページキャッシュ(HTML出力キャッシュ) が有効な場合、
古いHTMLが配信され、存在しない画像リンクを含む場合があります。

404ページがでた場合の対処方法

1.WordPress管理画面にログインします

2.左メニューから「設定」→「Redis」を選択します

3.「Flush Cache(キャッシュを削除)」を選択します

Cronで定期的にRedisのキャッシュをクリアーする

使用用途やWebページのアクセス数によりますが、私の環境ではRedisを利用してもWordpressのヘルスチェックではサーバーのレスポンスが5~10秒ほどしか変わらないので、CronでRedisのキャッシュを定期的に削除するようにしました。

以下が、CronでRedisのキャッシュをクリアする設定です。
(例)毎週月曜日の3時にRedisのキャッシュをクリアする設定です

# crontab -e
0 3 * * 1 /usr/bin/redis-cli flushall

スポンサーリンク
スポンサーリンク
スポンサーリンク
スポンサーリンク
LinuxUbuntuWordPress
スポンサーリンク
シェアする
adminをフォローする
タイトルとURLをコピーしました