Rumah > Artikel > pembangunan bahagian belakang > Gunakan PHP dan Memcache untuk meningkatkan kelajuan tindak balas laman web
Gunakan PHP dan Memcache untuk meningkatkan kelajuan tindak balas tapak web Penggunaan gabungan PHP dan Memcache secara berkesan boleh meningkatkan kelajuan tindak balas tapak web dan memberi pengguna pengalaman menyemak imbas yang lebih baik. Artikel ini akan memperkenalkan cara menggunakan PHP dan Memcache untuk mengoptimumkan kelajuan tindak balas tapak web.
Pengenalan kepada Memcache$ sudo apt-get install php7.0-memcache
Selepas pemasangan selesai, tambahkan konfigurasi berikut dalam fail php.ini:
extension=memcache.so
Mulakan semula perkhidmatan Apache untuk menjadikan konfigurasi berkuat kuasa.
Gunakan Memcache untuk cache data<?php // 连接Memcache服务器 $memcache = new Memcache; $memcache->connect('localhost', 11211); // 检查缓存中是否存在数据,如果存在则直接返回 $data = $memcache->get('key_data'); if ($data) { echo $data; } else { // 如果缓存中不存在数据,则从数据库中获取,并存入缓存 $data = '这是从数据库中获取的数据'; // 存入缓存,并设置过期时间为10分钟 $memcache->set('key_data', $data, 0, 600); echo $data; } ?>
Dalam kod di atas, mula-mula kita sambungkan ke pelayan Memcache, dan kemudian gunakan kaedah get
untuk menyemak sama ada data yang kita ingin dapatkan wujud dalam cache. Jika data wujud, kembalikan terus jika data tidak wujud, dapatkannya daripada pangkalan data, gunakan kaedah set
untuk menyimpan data dalam cache dan tetapkan masa tamat tempoh kepada 10 minit. Dengan cara ini, data akan dibaca terus dari cache pada permintaan seterusnya, mengelakkan interaksi yang kerap dengan pangkalan data.
Gunakan Memcache untuk meng-cache serpihan halamanget
方法检查缓存中是否存在我们要获取的数据。如果数据存在,则直接返回;如果数据不存在,则从数据库中获取,并使用set
方法将数据存入缓存中,并设置过期时间为10分钟。这样,在下次请求时,数据将直接从缓存中读取,避免了频繁地与数据库交互。
除了缓存数据,我们还可以利用Memcache缓存页面的片段,从而进一步提高网站的响应速度。以下是一个示例代码,演示如何利用Memcache缓存页面片段。
<?php // 连接Memcache服务器 $memcache = new Memcache; $memcache->connect('localhost', 11211); // 根据URL生成缓存的Key $key = 'key_' . md5($_SERVER['REQUEST_URI']); // 检查缓存中是否存在该Key的数据,如果存在则直接返回 $html = $memcache->get($key); if ($html) { echo $html; } else { // 如果缓存中不存在该Key的数据,则生成页面,并存入缓存 ob_start(); // your page content goes here $html = ob_get_clean(); // 存入缓存,并设置过期时间为1小时 $memcache->set($key, $html, 0, 3600); echo $html; } ?>
在上面的代码中,我们根据访问的URL生成一个唯一的缓存Key,然后使用get
方法检查缓存中是否存在该Key对应的数据。如果数据存在,则直接返回;如果数据不存在,则生成页面,并使用set
Selain daripada menyimpan data, kami juga boleh menggunakan Memcache untuk meng-cache serpihan halaman, dengan itu meningkatkan lagi kelajuan tindak balas tapak web. Berikut ialah contoh kod yang menunjukkan cara menggunakan Memcache untuk menyimpan serpihan halaman cache.
rrreeeDalam kod di atas, kami menjana Kunci cache unik berdasarkan URL yang diakses, dan kemudian menggunakan kaedah get
untuk menyemak sama ada data yang sepadan dengan Kunci wujud dalam cache. Jika data wujud, kembalikan terus jika data tidak wujud, jana halaman, gunakan kaedah set
untuk menyimpan halaman dalam cache dan tetapkan masa tamat tempoh kepada 1 jam. Dengan cara ini, apabila URL yang sama diminta seterusnya, halaman akan dibaca terus dari cache, mengelakkan proses penjanaan halaman berulang kali.
Atas ialah kandungan terperinci Gunakan PHP dan Memcache untuk meningkatkan kelajuan tindak balas laman web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!