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.
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"); ?>
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.
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(); ?>
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.
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); ?>
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.
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: "); ?>
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.
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); } ?>
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!