Rumah > Soal Jawab > teks badan
redis是基于内存的,所以存在当程序挂掉数据丢失的可能。我目前想到的备份方案是,做一个主从,从库做定时dump。
但是dump是不是实时的,而是隔一段时间做一次,所以这期间还是有丢失数据的可能。是否有方案能实时备份redis的数据,让redis出了问题以后快速恢复。
大家讲道理2017-04-21 11:19:01
Masalah kehilangan data boleh diselesaikan melalui replikasi tuan-hamba redis. Walau bagaimanapun, saya fikir ada cara untuk mengurangkan risiko dan skop kehilangan data. Merebut tiket ialah senario keselarasan tinggi biasa Anda boleh mempertimbangkan untuk menyimpan maklumat inventori tiket dalam ingatan dan menyimpan maklumat lain melalui pangkalan data yang lebih dipercayai.
Penyelesaian khusus:
1. Redis mendayakan replikasi tuan-hamba dan boleh menggunakan lebih daripada dua hamba untuk menyelesaikan masalah satu titik dan pengimbangan beban apabila menyediakan perkhidmatan baca luaran;
2. Bagi penyelesaian pemulihan data yang ranap, anda boleh log keluar dari operasi barisan untuk merekodkan Jika perkhidmatan ranap, anda boleh memulihkan inventori dengan cepat selepas memulakan semula
3. Penyelesaian untuk mengurangkan risiko kehilangan data. Contohnya, gunakan struktur data giliran redis untuk menyimpan inventori tiket Jika anda berjaya keluar dari baris gilir, anda akan mendapat tiket Kemudian simpan hubungan merebut tiket ke pangkalan data, dan kemudian buat pesanan & bayar;
4. Dalam pengalaman penggunaan sebenar, kebarangkalian redis ranap adalah rendah, tetapi ia benar-benar menyusahkan untuk memulihkan data selepas ia ranap. Oleh itu, adalah lebih baik untuk melihat senario penggunaan Jika data adalah sangat penting, adalah disyorkan untuk mengelak daripada meletakkannya dalam pangkalan data memori.