Saya telah memperkenalkan instalasi pir sebelumnya. Hari ini saya akan memperkenalkan salah satu dari beberapa paket pir yang terkenal. Jika ada yang kurang jelas, silakan cari "tutorial PEAR" di situs tersebut untuk mendapatkan tutorial sebelumnya!
Apa yang akan kami perkenalkan hari ini adalah paket Cache_Lite dari PEAR. Mata para pengembang web terbelalak ketika mereka berbicara tentang percepatan, sama seperti mata pria terbelalak ketika mereka melihat keindahan yang menakjubkan. Oleh karena itu, hal pertama yang ingin saya perkenalkan di sini adalah paket Cache_lite dari PEAR , Anda dapat menggunakan paket ini untuk menyimpan cache bagian mana pun dari halaman web sesuai kebutuhan Anda, sehingga sangat meningkatkan pembuatan halaman dan kecepatan pemuatan!
Pertama, buka Paket Daftar Pear untuk mengunduh paket instalasi Cache_Lite. Saat menulis tutorial ini, versi stabilnya adalah 1.7.2, jadi kami mengunduh versi ini, mengekstraknya setelah mengunduh, dan kemudian menempatkan file di direktori root PEAR ( Cara mengatur direktori file akan diperkenalkan nanti), dan kemudian kita pergi ke bab yang sesuai dari manual untuk melihat cara menggunakannya. Anda bisa melihat pendahuluan tentang paket terlebih dahulu. Tidak ada pemanasan di sini dan kita akan langsung ke topik. Berikut ini adalah contoh Cache_Lite::get(). Mari kita mulai dengan contoh ini. Saya menambahkan komentar berbahasa Mandarin ke dalam contoh.
require_once "Cache/Lite.php";//Ini adalah alamat yang berhubungan dengan PEAR. Setelah menemukan file Lite.php dalam paket yang baru saja Anda unduh, Anda harus tahu cara menyebarkan folder ini!
$pilihan=array(
'cacheDir'=>'/tmp/',//Ini adalah jalur Cache, yang terbaik adalah menggunakan jalur absolut, yang akan dijelaskan dalam contoh kita
'lifeTime'=>7200, //Waktu kedaluwarsa cache dalam hitungan detik
'pearErrorMode'=>CACHE_LITE_ERROR_DIE//Mode pelaporan kesalahan
);
$cache=newCache_Lite($options);//Buat cache setelah mengatur parameter
if($data=$cache->get('id_of_the_page')){//Jika cache dengan id=id_of_the_page ada, langsung echo data yang di-cache keluar
// Cache terkena!
// Konten ada di $data
// (...)
}else{//Jika cache tidak ada, buat cache
// Tidak ditemukan cache yang valid (Anda harus membuat dan menyimpan halaman)
// (...)
}
Setelah membaca contoh di atas, apakah menurut Anda ini sangat sederhana? Faktanya, kunci dari caching bukanlah bagaimana membuat dan menghapus cache, tetapi bagaimana menyeimbangkan hubungan antara cache statis dan dinamis, dan bagaimana membangun kembali cache pada waktu yang tepat. Mari saya mulai dengan sebuah contoh agar semua orang menyadari manfaat caching! , silakan buat file cache di bawah tutor (direktori root sesuai dengan contoh di tutorial kami). Untuk sistem operasi *nix, silakan atur properti ke 0777, lalu buat cache.php di bawah folder tutor, masukkan kode berikut
<? php
require_once"config.php";
require_once"Cache/Lite.php";
//Kode berikut ini untuk menghitung waktu eksekusi halaman dan tidak ada hubungannya dengan cache.
fungsiget_microtime()
{
list($usec,$detik)=meledak(' ',microtime());
return((mengambang)$usec+(mengambang)$detik);
}
$s= get_microtime();
//Berikut ini adalah pengaturan cache
$pilihan=array(
'cacheDir'=> WEB_DIR."/cache/",
//Silakan buka tutor (direktori root sesuai dengan contoh di tutorial kami)
//Buat cache berkas,
//*nix sistem operasi, harap setel atribut ke 0777
'lifeTime'=>10,//10 detik waktu kedaluwarsa
'pearErrorMode'=>CACHE_LITE_ERROR_DIE
);
$cache=newCache_Lite($pilihan);
$cache_id='cache'; //id harus unik
//Jika tidak, ini akan bertentangan dengan cache orang lain.
if($data=$cache->dapatkan($cache_id)){
//data adalah hasil pengambilan data, jika cache ada dan belum expired,
//Dapatkan data secara langsung
gema$data;
}kalau tidak{
//Jika tidak, kita akan membuat cache
// Di bawah ini kami sengaja menggunakan loop untuk menghabiskan waktu
sementara($i<10000000)
$i++;
$data='Waktu pembuatan cache:'.date("Ymd H:i:s");
$data.="<p>Waktu eksekusi tanpa cache adalah: ".(get_microtime()-$s).."detik";
gema$data;
$cache->simpan($data);
}
echo"<p>Halaman saat ini membutuhkan waktu: ".(get_microtime()-$s).."detik</p>";
?>
Jalankan http://127.0.0.1/tutor/cache.php di browser, lalu lihat apakah ada file yang dihasilkan di direktori cache. Rasanya sangat memuaskan bukan? !
Di halaman web, kami menemukan bahwa waktu pengoperasian pertama memakan waktu sekitar 1 detik, dan setelah cache dibuat, waktunya hanya 1/1000 dari waktu aslinya. Saya tidak perlu menjelaskan efisiensi ini lagi! ! Faktanya, proses umum dari contoh di atas adalah: 1. Menetapkan parameter cache, termasuk ID cache; 2. Periksa apakah cache ada berdasarkan parameter dan ID. Jika ada, data cache diperoleh di $data variabel, lalu bergema, jika tidak, Buat ulang cache, simpan hasil halaman dalam variabel, lalu tulis data variabel ke cache. Namun, metode ini sangat merepotkan, karena kita harus menulis semua output ke dalam sebuah variabel, yang sebenarnya lebih merepotkan. Ini memerlukan banyak koneksi string dan kodenya sulit untuk dipelihara. Tentu saja, yang terbaik adalah menggunakan cache yang sederhana. Ambil pendekatan ini. Tapi jangan khawatir, PEAR yang kuat tidak terlalu terbelakang secara mental, jadi ia juga menyediakan cara lain, yaitu dengan mendapatkan buffer dan mengeluarkan variabel. Mari kita lihat contoh sederhana ini .
<?php
require_once"config.php";
require_once"Cache/Lite/Output.php";
//Perhatikan bahwa file yang dibutuhkan di sini berbeda.
$pilihan=array(
'cacheDir'=> WEB_DIR."/cache/",
'lifeTime'=>10,//10 detik waktu kedaluwarsa
'pearErrorMode'=>CACHE_LITE_ERROR_DIE
);
$cache=newCache_Lite_Output($pilihan);
$cache_id='obcache';
if(!($cache->mulai($cache_id))){
//Jika tidak ada, buat cache. Jika ada, program akan secara otomatis mengeluarkan cache.
?>
Anda dapat melakukan apapun yang Anda inginkan di sini,
Termasuk mengeksekusi php
Bukankah sangat mudah jika semua query database, termasuk query database, dapat diselesaikan di sini selama PHP mengizinkannya?
<?php
$cache->end();//Jangan lupakan ini,
//Jika tidak, cache tidak akan berhasil dibuat.
//Fungsi ini keluar dari buffer keluaran
}
?>
Pergi dan lihat apakah ada file lain di direktori cache?
Ini mengakhiri pengenalan cache. Berikut beberapa hal yang perlu diperhatikan:
1. ID cache harus unik, dan beberapa parameter dapat diintegrasikan
2. Yang terbaik adalah menulis jalur absolut untuk jalur cache dari cache.
3. Fokus bagian ini adalah pada komentar. Harap baca komentar dengan cermat.
Selain itu, melalui pengantar saya, Anda dapat membaca manual terkait tentang cara menghapus cache gunakan contoh di atas, lanjutkan Operasi cache seharusnya tidak sulit.