Memcached ialah sistem storan nilai kunci berdasarkan cache memori, yang biasanya digunakan untuk cache data dalam aplikasi web. Memandangkan data Memcached disimpan dalam memori, operasi khas diperlukan semasa membuat sandaran atau memindahkan data. Artikel ini akan memperkenalkan kaedah untuk merealisasikan sandaran automatik pangkalan data Memcached berdasarkan PHP, dengan harapan dapat membantu pengguna Memcached.
1. Kaedah Sandaran
Memcached ialah sistem teragih yang datanya disimpan pada berbilang nod. Oleh itu, apabila membuat sandaran data, anda perlu menyandarkan semua nod. Memcached secara rasmi menyediakan alat sandaran, alat memcached, yang boleh dipanggil melalui baris arahan untuk operasi sandaran. Walau bagaimanapun, kaedah sandaran ini memerlukan operasi manual dan tidak sesuai untuk sandaran automatik.
Dalam kes ini, kita boleh menggunakan PHP untuk menulis skrip sandaran automatik. Kaedah pelaksanaan khusus adalah seperti berikut:
1 Sambungkan ke Memcached dan dapatkan senarai nilai kunci
<?php $mem = new Memcached(); $mem->addServer('localhost', 11211); $keys = $mem->getAllKeys();
2 Lintas senarai nilai kunci dan sandarkan data
<?php foreach ($keys as $key) { $value = $mem->get($key); $filename = './backup/'.$key.'.txt'; file_put_contents($filename, $value); }
Dalam kod di atas, kami mula-mula lulus kaedah getAllKeys() Memcached mendapatkan senarai semua nilai kunci, kemudian melintasi senarai dan menyimpan nilai yang sepadan dengan setiap kunci ke dalam fail teks.
3. Tambah tugas berjadual
Untuk mencapai sandaran automatik setiap hari atau setiap minggu, kami perlu menambah skrip sandaran pada tugasan yang dijadualkan. Ini boleh dicapai menggunakan perintah crontab sistem Linux. Jalankan arahan berikut dalam sistem Linux:
$ crontab -e
Kemudian tambah kandungan berikut dalam editor:
0 0 * * * php /path/to/backup.php
Perintah ini bermaksud untuk melaksanakan skrip sandaran sekali setiap hari pada tengah malam. Jika sandaran mingguan diperlukan, anda boleh mengubah suainya kepada:
0 0 * * 0 php /path/to/backup.php
Perintah ini bermaksud untuk melaksanakan skrip sandaran setiap hari Ahad jam 0:00.
2. Kaedah pemulihan data
Apabila membuat sandaran data, kami menyimpan nilai yang sepadan dengan semua kunci ke dalam fail teks. Untuk pemulihan data, anda hanya perlu melintasi semua fail teks dan menulis kandungan setiap fail ke dalam kunci yang sepadan. Kaedah pelaksanaan khusus adalah seperti berikut:
<?php $backupFiles = glob('./backup/*.txt'); foreach ($backupFiles as $file) { $key = basename($file, '.txt'); $value = file_get_contents($file); $mem->set($key, $value); }
Kod di atas merentasi semua fail sandaran, memperoleh nilai kunci yang sepadan melalui nama fail dan menulis kandungan fail ke Memcached. Perlu diingatkan bahawa jika nilai kunci sudah wujud, nilai asal akan ditimpa.
3. Ringkasan
Artikel ini memperkenalkan kaedah untuk merealisasikan sandaran automatik pangkalan data Memcached berdasarkan PHP, dan masing-masing menerangkan operasi sandaran dan pemulihan. Dengan cara ini, keselamatan dan kebolehpercayaan data Memcached boleh dijamin, dan ketersediaan serta kestabilan sistem boleh dipertingkatkan.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan sandaran automatik pangkalan data Memcached dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!