Dengan perkembangan pesat aplikasi Web dalam beberapa tahun kebelakangan ini, volum pemprosesan pangkalan data menjadi lebih besar dan lebih besar, dan keperluan prestasi menjadi lebih tinggi dan lebih tinggi, jadi permintaan untuk pangkalan data teragih juga meningkat. Redis ialah pangkalan data NoSQL popular yang menyokong pelbagai penyelesaian teragih, antaranya replikasi tuan-hamba ialah penyelesaian teragih yang biasa digunakan dan agak mudah untuk dilaksanakan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan replikasi tuan-hamba pangkalan data Redis.
Replikasi tuan-hamba Redis dicapai dengan menyegerakkan data dalam pangkalan data nod induk ke pangkalan data nod hamba. Nod induk ialah satu-satunya nod boleh tulis, dan operasi penulisan data hanya dikendalikan oleh nod induk Nod hamba hanya bertanggungjawab untuk membaca data yang disegerakkan daripada nod induk dan tidak menerima sebarang operasi tulis.
Proses replikasi tuan-hamba adalah seperti berikut:
① Pelanggan menghantar arahan operasi tulis ke nod induk, nod induk melaksanakan dan merekodkan arahan ke dalam memori, dan kemudian menghantar arahan dan hasil pelaksanaannya kepada Semua nod hamba yang disambungkan.
② Selepas menerima arahan dan hasil pelaksanaannya daripada nod, laksanakan arahan operasi tulis yang sama secara setempat dan rekodkannya dalam ingatannya sendiri.
③ Nod induk akan menghantar semua log operasi arahan dalam memori secara berkala ke nod hamba dan nod hamba juga akan melakukan operasi yang sama selepas menerimanya.
④ Jika kegagalan rangkaian berlaku pada nod hamba semasa proses penyegerakan nod induk, ia akan menyambung semula ke nod induk selepas rangkaian dipulihkan, dan nod induk akan menyegerakkan semula semua log arahan yang tiada daripada nod hamba.
2. Gunakan Redis dalam PHP untuk melaksanakan replikasi master-slave
Dalam PHP, anda boleh menggunakan modul sambungan PHP Redis untuk menyambung ke pangkalan data Redis juga serupa. Sambungan PHP Redis termasuk kelas Redis dan RedisArray Yang pertama digunakan untuk menyambungkan satu nod Redis, dan yang kedua digunakan untuk menyambungkan berbilang nod dan mencapai pengimbangan beban baca dan tulis.
Anda boleh menggunakan langkah berikut untuk melaksanakan replikasi induk-hamba Redis menggunakan PHP.
Langkah 1: Sambung ke nod induk Redis
Apabila menyambung ke nod induk Redis, anda perlu membuat instantiate kelas Redis. Kodnya adalah seperti berikut:
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); //连接主节点
Langkah 2: Konfigurasikan nod hamba Redis
Apabila menjana nod hamba Redis, anda perlu menetapkan alamat ip dan nombor port nod. Kodnya adalah seperti berikut:
$slave = new Redis(); $slave->connect('127.0.0.1', 6380); //连接从节点 $slave->slaveOf('127.0.0.1', 6379);
Perhatikan bahawa alamat IP dan nombor port nod hamba ditetapkan di sini, dan nod hamba ditetapkan sebagai nod induk melalui kaedah slaveOf()
.
Langkah 3: Uji replikasi induk-hamba
Dalam langkah kedua, memandangkan nod hamba ditetapkan sebagai nod hamba nod induk, nod hamba akan menerima dan meniru induk secara automatik data nod. Anda boleh menggunakan perintah info replication
untuk menguji status replikasi tuan-hamba. Kodnya adalah seperti berikut:
$info = $slave->info(); print_r($info);
Dalam hasil output, anda boleh melihat maklumat yang berkaitan tentang replikasi induk-hamba, seperti alamat IP nod induk, nombor port, status sambungan, dsb.
Dengan menggunakan modul sambungan PHP Redis, replikasi induk-hamba bagi pangkalan data Redis boleh dicapai. Replikasi tuan-hamba boleh meningkatkan prestasi dan kebolehpercayaan Redis, dan sangat sesuai untuk senario seperti pemisahan baca-tulis dan ketersediaan tinggi. Perlu diingat bahawa semasa proses replikasi tuan-hamba, ketekalan data dan pemulihan kerosakan perlu dipertimbangkan, dan strategi tindak balas yang sepadan perlu dibangunkan untuk masalah seperti keabnormalan rangkaian dan kehilangan nod. Artikel ini hanya menyediakan contoh penggunaan yang agak mudah, dan pembaca boleh melaksanakan aplikasi teragih yang lebih kompleks berdasarkan keperluan khusus.
Atas ialah kandungan terperinci Kaedah PHP untuk melaksanakan replikasi tuan-hamba pangkalan data Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!