Rumah >pembangunan bahagian belakang >tutorial php >Cara menggunakan teknologi caching Memcache untuk meningkatkan prestasi membaca data dalam PHP

Cara menggunakan teknologi caching Memcache untuk meningkatkan prestasi membaca data dalam PHP

WBOY
WBOYasal
2023-05-15 20:11:071401semak imbas

Dengan perkembangan teknologi Internet dan peningkatan mendadak dalam lawatan, cara untuk meningkatkan prestasi laman web telah menjadi isu yang mendesak. Teknologi caching ialah salah satu penyelesaian yang paling biasa digunakan untuk meningkatkan prestasi laman web. Sebagai bahasa pembangunan back-end yang sangat popular, PHP juga menyediakan banyak teknologi caching, yang paling biasa digunakan ialah teknologi caching Memcache.

Memcache ialah sistem caching objek memori teragih berprestasi tinggi, yang sering digunakan untuk meningkatkan kelajuan akses data dan mengurangkan beban pangkalan data. Artikel ini akan memperkenalkan cara menggunakan teknologi caching Memcache dalam PHP untuk meningkatkan prestasi membaca data.

1. Pemasangan dan konfigurasi Memcache

  1. Muat turun sambungan Memcache

Pelanjutan Memcache boleh diperolehi dalam PECL. Gunakan arahan berikut untuk memuat turun dan memasang sambungan Memcache.

$ pecl install memcache

  1. Konfigurasikan php.ini

Tambah baris berikut pada fail php.ini untuk mendayakan sambungan Memcache.

extension=memcache.so

  1. Mulakan perkhidmatan Memcached

Pada pelayan Linux, gunakan arahan berikut untuk memulakan perkhidmatan Memcached.

$ memcached -d -m 64 -u root -l 127.0.0.1 -p 11211

  1. Uji sama ada Memcache tersedia

Anda boleh menggunakan Coretan kod berikut menguji sama ada Memcache tersedia.

$memcache = Memcache baharu;
$memcache->connect('localhost', 11211) atau mati ("Tidak dapat menyambung");

2 data

  1. Menyimpan data cache

Menyimpan data ke dalam Memcache adalah sangat mudah Gunakan kod berikut untuk menyimpan pasangan nilai kunci data ke dalam cache.

$memcache = Memcache baharu;
$memcache->connect('localhost', 11211) atau mati ("Tidak dapat menyambung");
$memcache->set('key ', 'value', 0, 3600);

Kod di atas menyimpan "kunci" dan "nilai" ke Memcache, dan masa cache ialah 3600 saat.

  1. Baca data cache

Apabila anda perlu mendapatkan data dalam cache Memcache, anda boleh menggunakan kod berikut.

$memcache = Memcache baharu;
$memcache->connect('localhost', 11211) atau mati ("Tidak dapat menyambung");
$data = $memcache->dapatkan ('key');

Kod di atas akan mendapat nilai dengan kunci "key" daripada Memcache.

  1. Padam data cache

Jika anda perlu memadamkan data yang dicache dalam Memcache, anda boleh menggunakan coretan kod berikut.

$memcache = Memcache baharu;
$memcache->connect('localhost', 11211) atau mati ("Tidak dapat menyambung");
$memcache->delete('key ');

Kod di atas akan memadamkan data dengan kunci "kunci" daripada Memcache.

3. Gunakan Memcache untuk mempercepatkan akses pangkalan data

Apabila menggunakan Memcache untuk meningkatkan prestasi pembacaan data, senario aplikasi yang paling biasa adalah untuk cache data dalam pangkalan data. Jika data tertentu tapak web kerap dibaca daripada pangkalan data, menggunakan Memcache untuk cache data ini boleh mengurangkan beban pada pelayan pangkalan data dan meningkatkan prestasi tapak web.

Berikut ialah langkah untuk menggunakan Memcache untuk mempercepatkan akses pangkalan data.

  1. Dapatkan data

Apabila meminta data buat kali pertama, dapatkan data daripada pangkalan data dan simpannya dalam Memcache.

$memcache = Memcache baharu;
$memcache->connect('localhost', 11211) atau mati ("Tidak dapat menyambung");

$data = $memcache- >get('key');
jika (!$data) { //Data tidak wujud dalam Memcache

$db = new mysqli('localhost', 'user', 'password', 'database');
$result = $db->query('SELECT * FROM table');
$data = $result->fetch_all(MYSQLI_ASSOC);
$db->close();
$memcache->set('key', $data, 0, 3600);

}

  1. Baca data

Pada permintaan berikutnya, panggil data cache Memcache untuk mengelakkan pertanyaan pangkalan data.

$memcache = Memcache baharu;
$memcache->connect('localhost', 11211) atau mati ("Tidak dapat menyambung");

$data = $memcache- >get('key');
if ($data === false) { //Data tidak wujud dalam Memcache dan perlu dibaca daripada pangkalan data

$db = new mysqli('localhost', 'user', 'password', 'database');
$result = $db->query('SELECT * FROM table');
$data = $result->fetch_all(MYSQLI_ASSOC);
$db->close();
$memcache->set('key', $data, 0, 3600);

}

Menggunakan kod di atas, data boleh dibaca daripada pangkalan data Selepas cache melalui Memcache, cache boleh diakses untuk mendapatkan data dalam permintaan seterusnya, dengan itu meningkatkan prestasi pembacaan data.

4. Ringkasan

Artikel ini memperkenalkan cara menggunakan teknologi caching Memcache dalam PHP untuk meningkatkan prestasi membaca data. Dengan menyimpan data dalam memori dan mengelakkan akses kerap ke pangkalan data, beban pada pangkalan data dapat dikurangkan dan prestasi laman web dapat dipertingkatkan. Sudah tentu, teknologi caching Memcache tidak sempurna, tetapi dalam aplikasi sebenar, Memcache masih merupakan penyelesaian caching yang cekap dan boleh dipercayai.

Atas ialah kandungan terperinci Cara menggunakan teknologi caching Memcache untuk meningkatkan prestasi membaca data dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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