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

