Cara menggunakan pembangunan cache PHP untuk meningkatkan prestasi laman web

WBOY
Lepaskan: 2023-11-07 10:00:02
asal
1053 orang telah melayarinya

Cara menggunakan pembangunan cache PHP untuk meningkatkan prestasi laman web

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;
    }
}
Salin selepas log masuk

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;
    }
}
Salin selepas log masuk

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;
    }
}
Salin selepas log masuk

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:

  1. Tempoh sah cache
    Tempoh sah cache bergantung pada senario aplikasi tertentu Tetapkan kitaran cache yang sesuai terlebih dahulu. Elakkan ralat yang disebabkan oleh data cache yang lapuk.
  2. Kemas kini cache
    Apabila data berubah, cache perlu dikemas kini dalam masa untuk memastikan data cache konsisten dengan data dalam pangkalan data.
  3. Pembersihan cache
    Data cache akan menduduki ruang memori Apabila ruang cache tidak mencukupi atau data tamat tempoh, cache perlu dikosongkan tepat pada masanya.

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan