Redis menyediakan dua model ketekalan untuk mengekalkan ketekalan data replika: ketekalan kuat (SYNC) memastikan bahawa operasi tulis hanya selesai selepas mereplikasi kepada semua nod slave menulis pada nod induk Operasi itu dianggap lengkap, mengorbankan ketekalan untuk prestasi. Di samping itu, penguncian optimistik dan mekanisme operasi atom boleh meningkatkan lagi konsistensi pelanggan. Memilih model ketekalan hendaklah berdasarkan pertukaran antara keperluan ketekalan aplikasi dan sensitiviti prestasi.
Bagaimana Redis menyelesaikan ketekalan data
Apakah itu konsisten?
Dalam sistem yang diedarkan, konsistensi memastikan data pada semua replika sentiasa konsisten. Ini bermakna semua bacaan mengembalikan nilai yang sama dan semua penulisan digunakan pada semua replika dalam susunan yang sama.
Model ketekalan Redis
Redis ialah pangkalan data dengan seni bina induk tunggal dan berbilang hamba, yang bermaksud ia mempunyai satu nod induk dan berbilang nod hamba. Nod induk bertanggungjawab untuk menerima operasi tulis dan mereplikasinya ke nod hamba.
Redis menyediakan model ketekalan berikut:
1. Konsistensi kuat (SYNC)
- Tersedia dalam versi sebelum Redis 3.0.
- Sesuatu operasi tulis hanya dianggap dilakukan selepas ia berjaya direplikasi kepada semua nod hamba.
- Memberi jaminan terkuat, tetapi juga akan menyebabkan kemerosotan prestasi.
2. Ketekalan Akhirnya (ASYNC)
- Digunakan secara lalai dalam Redis 3.0 dan ke atas.
- Operasi tulis dianggap dilakukan pada nod induk, walaupun ia belum direplikasi kepada nod hamba.
- Prestasi yang lebih tinggi, tetapi boleh menyebabkan ketidakkonsistenan sementara. . masih terkini sebelum mengubah suai data.
Operasi Atom
: Menyediakan satu set operasi atom untuk memastikan berbilang arahan sama ada semuanya berjaya dilaksanakan atau semuanya gagal.
Senario aplikasi- Memilih model ketekalan yang sesuai bergantung pada keperluan aplikasi tertentu:
-
Aplikasi yang mempunyai keperluan ketekalan yang tinggi dan tidak sensitif terhadap prestasi hendaklah menggunakan model ketekalan SYNC.
Aplikasi yang mempunyai keperluan prestasi tinggi dan boleh bertolak ansur dengan ketidakkonsistenan sementara
hendaklah menggunakan model konsistensi ASYNC.
Dengan menggunakan mekanisme di atas, aplikasi boleh mengawal ketekalan data dalam Redis untuk memenuhi keperluan khusus mereka. -
Atas ialah kandungan terperinci Bagaimana redis menyelesaikan ketekalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!