Mengekalkan Ketekalan Data dalam Penyahnormalan Firebase
Apabila menulis data ke Firebase di berbilang lokasi untuk mendapatkan semula lebih pantas, adalah penting untuk mengekalkan konsistensi data merentas semua lokasi. Berikut ialah dua pendekatan untuk mencapai matlamat ini:
Tulisan Atom
Firebase kini menyediakan cara untuk melakukan penulisan atom kepada berbilang laluan serentak. Menggunakan kaedah multipathWrites, anda boleh mengemas kini berbilang lokasi dengan satu operasi.
let updates = {}; // all paths to be updated and their new values updates['users/'+uid+'/name'] = name; var query = ref.child('messages').orderByChild('user').equalTo(uid); query.once('value', function(snapshot) { snapshot.forEach(function(messageSnapshot) { updates['messages/'+messageSnapshot.key()+'/username'] = name; }) ref.update(updates); });
Ketekalan Akhirnya
Pendekatan ini melibatkan pengemaskinian data pendua secara tidak segerak. Mula-mula, kemas kini sumber utama data (cth., profil pengguna). Kemudian, tanya semua kejadian data pendua (cth., mesej yang mengandungi nama pengguna) dan kemas kini satu persatu.
ref.child('users').child(uid).update({ name: name }); var query = ref.child('messages').orderByChild('user').equalTo(uid); query.once('value', function(snapshot) { snapshot.forEach(function(messageSnapshot) { messageSnapshot.update({ username: name }); }) });
Petua untuk Ketekalan Data
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Ketekalan Data dalam Denormalisasi Firebase?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!