Dengan pembangunan aplikasi Internet yang berterusan, mengoptimumkan prestasi laman web telah menjadi salah satu tugas yang diperlukan untuk pembangunan laman web. Antaranya, penggunaan teknologi caching merupakan kaedah pengoptimuman yang penting. Dalam pembangunan PHP, teknologi caching boleh meningkatkan prestasi dan kelajuan tindak balas laman web, dengan berkesan mengelakkan operasi seperti pengiraan berulang dan pertanyaan pangkalan data, dan dengan itu mencapai caching data dinamik. Artikel ini akan memperkenalkan cara menggunakan teknologi caching untuk melaksanakan caching data dinamik dalam PHP.
Caching ialah teknologi yang digunakan untuk meningkatkan prestasi aplikasi. Dalam pembangunan laman web, caching bermaksud menyimpan beberapa hasil yang telah dikira pada pelayan cache, menggantikan operasi pengiraan baharu dan serupa, sekali gus meningkatkan kelajuan tindak balas dan prestasi tapak web. Apabila data baharu masuk, pelayan cache akan menyimpan data baharu dan mengemas kini data dalam cache untuk memastikan kesahihan dan ketepatan data cache.
Dalam PHP, terdapat terutamanya jenis cache berikut:
(1) Cache fail: Ini adalah Cache yang paling biasa jenis, yang menyimpan data ke dalam fail, mempunyai kelajuan baca dan tulis yang lebih perlahan, tetapi boleh menyimpan data secara kekal pada cakera.
(2) Cache memori: Cache data ke dalam memori, kelajuan baca dan tulis sangat pantas, tetapi kerana ia berdasarkan memori, data tidak boleh disimpan untuk masa yang lama dan perlu dikemas kini secara berkala mengikut permintaan.
(3) Cache pangkalan data: Cache data ke dalam pangkalan data Kelajuan baca dan tulis agak perlahan, tetapi ia boleh menyimpan sejumlah besar data dan menyimpan data untuk masa yang lama.
(4) Cache teragih: cache data ke berbilang pelayan, mempunyai kelajuan baca dan tulis yang lebih pantas dan boleh menyimpan sejumlah besar data, tetapi memerlukan beberapa konfigurasi dan penyelenggaraan tambahan.
Dalam PHP, data dinamik boleh dicache melalui teknologi caching untuk meningkatkan prestasi tapak web. Biasanya, teknologi caching diperlukan untuk menyimpan data yang pertanyaannya memakan masa, rumit dari segi pengiraan dan sangat berulang. Berikut menerangkan cara menggunakan cache fail dan cache memori dalam PHP untuk melaksanakan cache data dinamik.
(1) Cache fail
Menggunakan caching fail memerlukan tiga langkah berikut:
Langkah 1. Cipta direktori cache
Kita perlu buat dulu direktori Cache untuk menyimpan fail cache, anda boleh menggunakan kod berikut dalam skrip PHP:
define('CACHE_PATH', '/path/to/cache/dir/'); if(!is_dir(CACHE_PATH)) { mkdir(CACHE_PATH, 0777, true); }
Langkah 2. Cache data ke dalam fail
Dalam PHP, kita boleh menggunakan file_get_contents() dan file_put_contents ( ) berfungsi untuk membaca dan menulis data cache. Fungsi caching fail mudah boleh dilaksanakan menggunakan contoh kod berikut:
function cache($key, $value, $expire=3600) { $filename = CACHE_PATH . $key . '.cache'; $data = serialize(array(time() + $expire, $value)); file_put_contents($filename, $data); }
Dalam kod di atas, kami menggunakan penyirian untuk menyimpan data dan juga menjimatkan masa tamat tempoh data.
Langkah 3. Baca data cache daripada fail
Serupa dengan data cache, kami juga boleh menggunakan fungsi file_get_contents() dan unserialize() untuk membaca fail cache dan menentukan sama ada cache telah tamat tempoh . Anda boleh menggunakan kod berikut untuk melaksanakan fungsi cache baca mudah:
function read_cache($key) { $filename = CACHE_PATH . $key . '.cache'; if(file_exists($filename)) { $data = unserialize(file_get_contents($filename)); if($data[0] > time()) { return $data[1]; }else { unlink($filename); } } return false; }
Dalam kod di atas, kami mula-mula membaca fail cache, dan kemudian menentukan sama ada fail cache wujud dan sama ada ia telah tamat tempoh Jika cache fail tamat tempoh, padamkannya Cache fail dan kembalikan palsu.
(2) Cache memori
Dalam PHP, kita boleh menggunakan teknologi cache memori untuk menyimpan data dalam memori untuk meningkatkan kelajuan baca dan tulis cache. Menggunakan caching dalam memori memerlukan panggilan sambungan PHP seperti Memcached dan Redis. Memcached akan diperkenalkan di bawah.
Langkah 1. Pasang sambungan Memcached
Sebelum menggunakan Memcached, anda perlu memasang sambungan Memcached. Anda boleh memuat turun sambungan yang sepadan mengikut versi PHP dan versi sistem anda sendiri. Sebagai contoh, gunakan arahan berikut untuk memasang dalam sistem Ubuntu:
sudo apt-get install php-memcached
Langkah 2. Sambung ke pelayan Memcached
Dalam PHP, kami menggunakan kelas Memcached untuk menyambung ke pelayan Memcached. Anda boleh menggunakan contoh kod berikut untuk menyambung ke pelayan:
$memcached = new Memcached(); $memcached->addServer('127.0.0.1', 11211);
Dalam kod di atas, kami menggunakan kelas Memcached untuk menyambung ke pelayan Memcached dan menyatakan alamat pelayan dan nombor port.
Langkah 3. Cache data ke dalam memori
Anda boleh menggunakan contoh kod berikut untuk cache data ke dalam memori:
$memcached->set('key', 'value', 3600);
Dalam kod di atas, kami menggunakan set() fungsi Data dicache dalam memori dan masa tamat tempoh ditetapkan.
Langkah 4. Baca data cache daripada memori
Anda boleh menggunakan contoh kod berikut untuk membaca data cache daripada memori:
$value = $memcached->get('key'); if($value != null) { echo $value; }
Dalam kod di atas, kami menggunakan The get () fungsi membaca data cache daripada memori dan menentukan sama ada ia wujud. Jika ia wujud, data cache akan dikeluarkan secara langsung.
Artikel ini meningkatkan prestasi tapak web dengan memperkenalkan konsep cache, jenis cache dan menggunakan PHP untuk melaksanakan cache data dinamik. Dengan menggunakan teknologi caching fail dan memori, anda boleh mengurangkan masa memuatkan halaman dengan berkesan dan meningkatkan kecekapan operasi laman web. Walaupun teknologi caching sangat membantu dalam meningkatkan prestasi tapak web, anda juga perlu memberi perhatian kepada isu seperti saiz cache, kitaran cache dan kemas kini cache untuk memastikan kesahihan dan ketepatan data cache.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan caching data dinamik melalui teknologi caching dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!