Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimanakah php tidak boleh menjana cache?

Bagaimanakah php tidak boleh menjana cache?

PHPz
Lepaskan: 2023-05-06 22:00:07
asal
764 orang telah melayarinya

Dalam pembangunan web, caching selalunya menyakitkan kepala. Walaupun caching boleh meningkatkan kelajuan akses dan prestasi tapak web, kadangkala kami berharap untuk tidak menggunakan caching dan mendapatkan semula data dengan setiap permintaan untuk memastikan ketepatan masa dan ketepatan data. Dalam Php, terdapat banyak kaedah untuk mencapai kesan tidak menjana cache Artikel ini akan memperkenalkan kaedah ini secara terperinci.

  1. Tetapkan maklumat pengepala Pengepala

Dalam Php, anda boleh mengawal caching dengan menetapkan maklumat pengepala Pengepala. Kod berikut menunjukkan cara untuk menetapkan maklumat pengepala Pengepala untuk melumpuhkan caching:

<?php
  header("Expires: Tue, 26 Jul 1970 05:00:00 GMT");
  header("Cache-Control: no-cache, must-revalidate");
  header("Pragma: no-cache");
?>
Salin selepas log masuk

Dalam kod di atas, medan Tamat Ditetapkan kepada masa lalu, supaya penyemak imbas akan berfikir bahawa halaman itu telah tamat tempoh dan akan bukan cache ia; Cache-Control Kedua-dua medan dan medan Pragma ditetapkan kepada no-cache supaya pelayar tidak akan cache halaman. Selepas menetapkan maklumat pengepala Pengepala, data akan diperoleh semula untuk setiap permintaan dan bukannya membaca data daripada cache.

  1. Gunakan fungsi session_cache_limiter

Fungsi session_cache_limiter ialah fungsi yang disertakan dengan Php dan boleh digunakan untuk mengawal cache. Kod berikut menunjukkan cara menggunakan fungsi session_cache_limiter untuk melumpuhkan caching:

<?php
  session_cache_limiter("nocache");
  session_start();
?>
Salin selepas log masuk

Dalam kod di atas, fungsi session_cache_limiter("nocache") dipanggil, yang bermaksud bahawa penyemak imbas dilarang daripada menyimpan halaman ini. Menggunakan fungsi session_cache_limiter, semua output akan dilumpuhkan daripada caching, termasuk output kandungan melalui fungsi gema.

  1. Lumpuhkan modul OPcache

OPcache ialah modul pemecut yang disediakan secara rasmi oleh Php, yang boleh cache kod yang disusun untuk meningkatkan prestasi. Tetapi kadangkala kami mahu dapat melumpuhkan OPcache untuk memastikan kod itu dilaksanakan semula pada setiap permintaan untuk mendapatkan hasil terkini. Kod berikut menunjukkan cara untuk melumpuhkan modul OPcache:

<?php
  ini_set("opcache.enable", 0);
?>
Salin selepas log masuk

Dalam kod di atas, fungsi ini_set("opcache.enable", 0) dipanggil, menunjukkan bahawa modul OPcache dinyahdayakan. Menggunakan kaedah ini memastikan bahawa kod dilaksanakan semula pada setiap permintaan.

  1. Elak menggunakan ETag

ETag ialah pengecam yang digunakan dalam protokol HTTP untuk menentukan sama ada sumber telah diubah suai. Apabila penyemak imbas meminta sumber, pelayan menjana ETag berdasarkan kandungan sumber dan kemudian menghantarnya ke penyemak imbas. Apabila sumber yang sama diminta pada kali seterusnya, penyemak imbas akan menghantar ETag yang diperoleh kali terakhir kepada pelayan dan pelayan akan menggunakan ETag ini untuk menentukan sama ada sumber tersebut telah diubah suai. Jika sumber belum diubah suai, kod status 304 Not Modified akan dikembalikan dan penyemak imbas akan mendapatkan sumber daripada cache. Untuk mengelakkan caching, kita boleh mengelak daripada menggunakan ETag Berikut ialah contoh:

<?php
  header("ETag: ");
?>
Salin selepas log masuk

Dalam kod di atas, tetapkan ETag kepada rentetan kosong supaya pelayan tidak dapat menentukan sumber setiap kali pelayar meminta. sumber yang sama sama ada ia telah diubah suai, kandungan sumber akan dikembalikan secara langsung dan bukannya mengembalikan kod status 304 Not Modified. Ini memastikan bahawa sumber itu diambil semula pada setiap permintaan.

  1. Padam cache

Selain kaedah di atas, kaedah lain yang boleh dilaksanakan ialah memadam cache. Anda boleh menggunakan fungsi nyahpaut untuk memadam fail dalam Php Berikut ialah contoh:

<?php
  $filename = "cache.txt";
  if(file_exists($filename)){
    unlink($filename);
  }
?>
Salin selepas log masuk

Dalam kod di atas, gunakan fungsi nyahpaut untuk memadam cache.txt fail. Apabila anda perlu memadam cache, anda boleh menggunakan kaedah ini untuk memadam fail cache.

Ringkasan

Caching ialah pertimbangan penting dalam pembangunan web. Walaupun caching boleh meningkatkan prestasi tapak web dengan berkesan, kadangkala kami mahu dapat melumpuhkan caching untuk memastikan ketepatan masa dan ketepatan data. Artikel ini memperkenalkan lima kaedah untuk melumpuhkan caching dalam Php, termasuk menetapkan maklumat pengepala Pengepala, menggunakan fungsi session_cache_limiter, melumpuhkan modul OPcache, mengelakkan penggunaan ETag dan memadam cache. Menggunakan kaedah di atas boleh mengawal cache halaman dengan berkesan dan memastikan data diambil semula pada setiap permintaan.

Atas ialah kandungan terperinci Bagaimanakah php tidak boleh menjana cache?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan