Memcached ialah alat caching berprestasi tinggi yang boleh meningkatkan prestasi tapak web dan kelajuan tindak balas dengan menyimpan data dalam cache. Apabila menggunakan Memcached, kami biasanya perlu menggunakan replikasi master-slave untuk meningkatkan ketersediaan dan kebolehpercayaan data. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan penukaran automatik replikasi induk-hamba Memcached.
Replikasi master-slave Memcached merujuk kepada sandaran dan replikasi data dengan menyalin data pelayan induk kepada sekumpulan pelayan hamba. Ini boleh meningkatkan ketersediaan dan kebolehpercayaan data Apabila pelayan induk gagal, pelayan hamba secara automatik boleh mengambil alih perkhidmatan untuk memastikan data boleh diakses secara normal.
2.1 Konfigurasikan pelayan utama
Pada pelayan utama, kita perlu memulakan perkhidmatan Memcached dan konfigurasikan pelayan untuk membenarkan Sambungan daripada pelayan. Tentukan ruang memori yang tersedia dengan menetapkan parameter "-m", contohnya:
memcached -m 64 -p 11211 -d
2.2 Konfigurasikan pelayan hamba
pada pelayan hamba Hidupkan, kita perlu memulakan perkhidmatan Memcached dan menentukan alamat dan kaedah permulaan pelayan hamba dengan menetapkan parameter "-s" dan "-d", contohnya:
memcached -s 127.0 .0.1:11211 -d
2.3 Konfigurasikan klien PHP
Dalam klien PHP, kita perlu mengkonfigurasi klien Memcached dengan menetapkan tatasusunan "$options". Kita boleh menggunakan pilihan "Memcached::OPT_SERVERS" untuk menentukan alamat dan nombor port pelayan induk dan hamba dan menggunakan pilihan "Memcached::DISTRIBUTION_CONSISTENT" untuk mendayakan pengedaran cincang yang konsisten. Contohnya:
$options = [
Memcached::OPT_SERVERS => [ ['127.0.0.1', 11211, 60], ['127.0.0.2', 11211, 60], ], Memcached::OPT_DISTRIBUTION => Memcached::DISTRIBUTION_CONSISTENT,
];
$mc = Memcached baharu();
$mc->setOptions($options);
2.4 Laksanakan pensuisan automatik
Dalam klien PHP, kita boleh mendapatkan kod status operasi Memcached dan menentukan sama ada pelayan utama tersedia dengan menggunakan kaedah "Memcached::getResultCode". Jika pelayan induk tidak tersedia, kami boleh menghalakan klien Memcached secara manual ke pelayan hamba, contohnya:
$value = $mc->get('key');
if ($mc -> ;getResultCode() != Memcached::RES_SUCCESS) {
$mc->resetServerList(); $mc->addServer('127.0.0.2', 11211); $value = $mc->get('key');
}
Melalui langkah di atas, kita boleh menggunakan PHP untuk melaksanakan induk Memcached Kaedah untuk beralih secara automatik daripada replikasi, dengan itu meningkatkan ketersediaan dan kebolehpercayaan data. Walau bagaimanapun, perlu diingatkan bahawa pensuisan automatik boleh membawa kepada ketidakkonsistenan atau kehilangan data, jadi ia perlu direka bentuk dan digunakan dengan berhati-hati.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penukaran automatik replikasi tuan-hamba Memcached dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!