Dengan perkembangan teknologi Internet yang berterusan, bilangan pelbagai laman web juga semakin meningkat, dan trafik rangkaian juga semakin meningkat. Bagi pembangun, cara meningkatkan prestasi laman web telah menjadi isu penting. Antaranya, penggunaan teknologi caching secara berkesan dapat meningkatkan prestasi laman web, mengurangkan tekanan pada pelayan, dan meningkatkan kelajuan capaian laman web.
PHP, sebagai bahasa pengaturcaraan Web yang biasa digunakan, dengan sendirinya menyokong teknologi caching Kami boleh melaksanakan caching melalui fungsi dan sambungan terbina dalam yang disediakan oleh PHP. Artikel ini akan menggunakan contoh kod khusus untuk memperkenalkan cara menggunakan PHP untuk membangunkan cache dan meningkatkan prestasi tapak web.
1. Cache fail
Caching fail merujuk kepada menyimpan data yang kerap diakses dalam fail, dengan itu mengelakkan proses membaca data daripada pangkalan data atau peranti storan lain untuk setiap permintaan, untuk meningkatkan kelajuan akses.
Cara untuk melaksanakan caching fail adalah sangat mudah Kita hanya perlu menggunakan fungsi PHP terbina dalam file_put_contents() untuk menulis data pada fail, dan menggunakan fungsi file_get_contents() untuk membaca data. Berikut ialah kod sampel:
function get_data($key) { $filename = './cache/' . md5($key); // 缓存在cache目录下,以$key的md5值作为文件名 if (file_exists($filename)) { // 如果缓存文件存在,读取缓存 $data = file_get_contents($filename); return unserialize($data); } else { // 缓存文件不存在,查询数据库并缓存查询结果 $data = query_from_db($key); // 从数据库中获取数据 file_put_contents($filename, serialize($data)); // 将查询结果缓存到文件中 return $data; } }
Dalam kod di atas, fungsi get_data() adalah untuk mendapatkan data cache Jika cache wujud, data dibaca terus daripada fail cache dan dikembalikan jika cache ada tidak wujud, ia diambil daripada pangkalan data Dapatkan data dan cache hasil pertanyaan ke fail. Perlu diingatkan bahawa kita perlu mensirikan hasil pertanyaan terlebih dahulu semasa caching, dan kemudian menyahsirinya apabila membaca, untuk mendapatkan data dengan betul.
2. Cache Memcached
Memcached ialah pelayan cache berprestasi tinggi yang boleh cache data ke dalam memori untuk meningkatkan kelajuan akses data. Dalam PHP, caching Memcached boleh digunakan dengan mudah menggunakan sambungan Memcached.
Berikut ialah kod contoh:
$memcached = new Memcached(); $memcached->addServer('localhost', 11211); // 连接到本地的11211端口 function get_data($key) { global $memcached; $data = $memcached->get($key); // 从缓存中获取数据 if ($data) { // 如果缓存存在,直接返回数据 return $data; } else { // 缓存不存在,从数据库中获取并添加到缓存中 $data = query_from_db($key); // 从数据库中获取数据 $memcached->set($key, $data, 3600); // 将数据添加到缓存,有效期为3600秒 return $data; } }
Dalam kod di atas, kami mula-mula mencipta objek Memcached dan menyambung ke port 11211 tempatan, dan kemudian menentukan fungsi bernama get_data(). Dalam fungsi, kami mendapatkan data daripada cache melalui kaedah get() objek Memcached Jika data itu wujud, kembalikannya 3600 saat.
3. Redis Cache
Redis ialah pangkalan data bukan perhubungan berprestasi tinggi yang menyediakan pelbagai struktur data dan boleh digunakan dalam pelbagai senario aplikasi. Dalam PHP, cache Redis boleh digunakan dengan mudah menggunakan sambungan Redis.
Berikut ialah kod sampel:
$redis = new Redis(); $redis->connect('localhost', 6379); // 连接到本地的6379端口 function get_data($key) { global $redis; $data = $redis->get($key); // 从缓存中获取数据 if ($data) { // 如果缓存存在,直接返回数据 return $data; } else { // 缓存不存在,从数据库中获取并添加到缓存中 $data = query_from_db($key); // 从数据库中获取数据 $redis->set($key, $data, 3600); // 将数据添加到缓存,有效期为3600秒 return $data; } }
Dalam kod di atas, kami mula-mula mencipta objek Redis dan menyambung ke port 6379 tempatan, dan kemudian menentukan fungsi bernama get_data(). Dalam fungsi, kami mendapatkan data daripada cache melalui kaedah get() objek Redis Jika data itu wujud, kembalikannya 3600 saat.
4. Amalan terbaik
Dalam proses menggunakan cache, kita perlu memberi perhatian kepada isu berikut:
Dalam aplikasi praktikal, kami boleh menggabungkan tiga kaedah caching di atas dan memilih penyelesaian caching yang sesuai mengikut keperluan sebenar untuk meningkatkan prestasi laman web dan pengalaman pengguna.
Atas ialah kandungan terperinci Cara menggunakan pembangunan cache PHP untuk meningkatkan prestasi laman web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!