特定のCookieの値が変更されたときに、匿名ユーザーの内部ページキャッシュを無効にする必要があります。どうすれば実装できますか?
追加しようとしました:
$build['#cache']['contexts'][] = 'cookies:my-cookie-name'
hook_entity_build_defaults_alter
、しかしそれは助けにはなりません。そして、ページはまだキャッシュから戻ります。
キャッシュIDを形成するCookie値を追加して、PageCache::getCacheId
メソッドをオーバーライドする必要があります。
Cookieによるページキャッシュ の例をご覧ください。
内部ページキャッシュはキャッシュコンテキストをサポートしていません。これは、静的データベースコンテンツを提供するように設計された単純なリバースプロキシであり、唯一のDrupal固有の機能は、キャッシュタグを無効にすることです。より動的な使用例では、このモジュールをアンインストールする必要があります。
動的ページキャッシュは、匿名トラフィックのフロントエンドキャッシュになります。ただし、Internal Page Cacheほど高速ではないため、必要なパフォーマンスが得られない場合は、Cookieを動的に処理できるサードパーティのリバースプロキシを検討してください。