Bagaimana cara memeriksa cache yang berfungsi pada halaman saat ini?
9
Beberapa modul mematikan caching pada halaman tertentu. Bagaimana cara termudah untuk memeriksa bahwa ini adalah kasusnya dan juga mengidentifikasi modul yang bermasalah?
Berikut beberapa contoh header tanggapan dari drupal.org yang menunjukkan kehilangan cache. Dalam hal ini, menggunakan Varnish namun core Drupal cache juga menetapkan header yang serupa.
Cache Hit
Ini salah satu yang menunjukkan hit cache Drupal standar:
Tetapi Drupal.org ada di belakang Varnish, bukan? Saya tidak bisa melihat header X-Cache di Drupal saya diakses secara langsung. Atau saya akan lakukan jika halaman yang saya uji dengan itu bisa disimpan?
Mołot
@ Mołot saya bisa melihat header Varnish jika saya keluar.
Letharion
Untuk situs Drupal 7 saya, saya memang melihat tajuk X-Drupal-Cache: HITtetapi di situs Drupal 6 saya tidak melihat apa-apa. Itu bisa dilucuti dengan proxy terbalik?
user11153
@ user11153 ya, D6 tampaknya tidak mengatur header HTTP X-Drupal-Cache di sana. Namun D7 melakukannya di_drupal_bootstrap_page_cache
David Thomas
@ Davidvidomas Jadi apa yang memeriksa status cache di Drupal 6? Apakah ada alternatif lain? Dan terima kasih untuk instruksi ke D7.
user11153
0
Menambahkan header cache ke Drupal 6 cache default
Sayangnya, ini melibatkan beberapa peretasan inti.
Di file includes/bootstrap.incganti baris dari
// If there is a cached page, display it.if($cache){
drupal_page_cache_header($cache);// If the skipping of the bootstrap hooks is not enforced, call hook_exit.if($cache_mode != CACHE_AGGRESSIVE){
bootstrap_invoke_all('exit');}// We are done.exit;}// Prepare for non-cached page workflow.
drupal_page_header();break;
untuk
// If there is a cached page, display it.if($cache){
header('X-Drupal-Cache: HIT');
drupal_page_cache_header($cache);// If the skipping of the bootstrap hooks is not enforced, call hook_exit.if($cache_mode != CACHE_AGGRESSIVE){
bootstrap_invoke_all('exit');}// We are done.exit;}// Prepare for non-cached page workflow.
header('X-Drupal-Cache: MISS');
drupal_page_header();break;
Jawaban:
Cara termudah adalah dengan memeriksa header respons HTTP.
Misalnya, dengan alat pemeriksa DOM browser Anda (mis . Tab "Jaringan" Chrome )
Cache Miss
Berikut beberapa contoh header tanggapan dari drupal.org yang menunjukkan kehilangan cache. Dalam hal ini, menggunakan Varnish namun core Drupal cache juga menetapkan header yang serupa.
Cache Hit
Ini salah satu yang menunjukkan hit cache Drupal standar:
sumber
X-Drupal-Cache: HIT
tetapi di situs Drupal 6 saya tidak melihat apa-apa. Itu bisa dilucuti dengan proxy terbalik?_drupal_bootstrap_page_cache
Menambahkan header cache ke Drupal 6 cache default
Sayangnya, ini melibatkan beberapa peretasan inti.
Di file
includes/bootstrap.inc
ganti baris dariuntuk
dan petunjuk lainnya persis seperti jawaban David .
sumber