Rumah > pembangunan bahagian belakang > tutorial php > Integrasi PHP dan cache pangkalan data

Integrasi PHP dan cache pangkalan data

王林
Lepaskan: 2023-05-17 08:06:01
asal
635 orang telah melayarinya

Dengan pembangunan Internet dan pertumbuhan pesat volum dan lawatan data, caching yang berkesan telah menjadi cara penting untuk meningkatkan prestasi tapak web. Dalam aplikasi web, pangkalan data adalah komponen penting. Untuk mengurangkan beban pada pangkalan data dan meningkatkan prestasi laman web, kami perlu menyepadukan teknologi caching dengan pangkalan data untuk meningkatkan kelajuan akses data dan masa tindak balas.

Dalam dunia MySQL, terdapat komponen yang sangat berkuasa - Memcached, yang boleh mempercepatkan pertanyaan pangkalan data dan mengurangkan beban pada pelayan pangkalan data. Untuk menyambung PHP dan cache pangkalan data, kita boleh menggunakan sambungan memcached.

  1. Pasang Memcached

Mula-mula, kita perlu memasang sambungan Memcached. Anda boleh menggunakan arahan berikut:

sudo apt-get install php-memcached
Salin selepas log masuk
  1. Mewujudkan sambungan

Untuk mewujudkan sambungan dengan pelayan Memcached, kita perlu menggunakan kaedah memcached_connect dalam PHP. Kaedah ini menerima dua parameter: alamat IP dan nombor port pelayan Memcached. Berikut ialah contoh kod untuk menyambung ke pelayan setempat:

$memcached = new Memcached();
$memcached->addServer('127.0.0.1', 11211);
Salin selepas log masuk

Selepas sambungan diwujudkan, kami boleh menggunakan kaedah lain dalam contoh Memcached.

  1. Caching data

Dalam PHP, caching data menggunakan Memcached juga sangat mudah. Kami hanya perlu menggunakan kaedah set dalam contoh Memcached dan nyatakan data untuk dicache dan parameter lain yang berkaitan.

Berikut ialah contoh caching data ke dalam pelayan Memcached:

$memcached->set('key', 'value', 3600);
Salin selepas log masuk

Dalam contoh di atas, data akan dicache dalam pelayan Memcached dan tamat tempoh selepas 3600 saat, selepas itu diperlukan Pertanyaan sekali lagi.

  1. Dapatkan data daripada cache

Apabila kita perlu mendapatkan data cache daripada Memcached, kita boleh menggunakan kaedah get.

Berikut ialah contoh mendapatkan data daripada Memcached:

$data = $memcached->get('key');
Salin selepas log masuk

Dalam kod di atas, kami mendapat data dengan nilai kunci "kunci", dan hasilnya akan disimpan dalam $data dalam pembolehubah.

  1. Padam data cache

Apabila data cache telah tamat tempoh atau tidak lagi sah, kami perlu memadamkannya daripada Memcached. Anda boleh menggunakan kaedah delete.

Berikut ialah contoh pemadaman data cache:

$memcached->delete('key');
Salin selepas log masuk

Dalam kod di atas, kami memadamkan data cache dengan nilai kunci "kunci".

  1. Pertanyaan pangkalan data bersepadu

Pertanyaan pangkalan data MySQL ialah proses yang agak memakan sumber Untuk mengurangkan beban pada pelayan MySQL, kami boleh menggunakan Memcached untuk membuat pertanyaan cache keputusan. Kami boleh menyemak sama ada keputusan dalam Memcached wujud sebelum membuat pertanyaan. Jika ya, dapatkan data terus daripada cache.

Berikut ialah contoh menyepadukan pertanyaan pangkalan data dan cache Memcached:

$key = 'query_' . md5($sql);
$data = $memcached->get($key);

if (!$data) {
    // 如果缓存数据不存在,则查询MySQL
    $result = $mysqli->query($sql);
    $data = $result->fetch_all(MYSQLI_ASSOC);
    
    // 将结果缓存到Memcached中
    $memcached->set($key, $data, 3600);
}

// 处理结果
foreach ($data as $item) {
    // ...
}
Salin selepas log masuk

Dalam kod di atas, kami terlebih dahulu mencincang pernyataan pertanyaan SQL dan menggunakannya sebagai nilai utama. Kami menyemak sama ada $key wujud dalam Memcached dan jika ya, dapatkan data terus daripada cache, jika tidak, tanya MySQL dan cache hasilnya ke dalam Memcached. Selepas itu, kami boleh terus menggunakan data cache untuk memproses keputusan.

Ringkasnya, menggunakan Memcached untuk cache hasil pertanyaan pangkalan data boleh meningkatkan prestasi aplikasi web dengan ketara. Dengan menyepadukan Memcached dalam PHP, kami boleh menggunakan teknologi caching dengan cepat dan mudah serta mendapatkan pengalaman pengguna yang lebih baik dalam aplikasi web.

Atas ialah kandungan terperinci Integrasi PHP dan cache pangkalan data. 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