Que faire si une seule base de données d'écriture ne peut pas répondre aux exigences de performances lorsque MySQL sépare la lecture et l'écriture ? Dois-je utiliser plusieurs bases de données pour écrire ? Alors, comment synchroniser les données et assurer leur cohérence ?
Vous pouvez essayer la mise en cache Lorsque vous définissez les données en arrière-plan, vous pouvez les définir directement sur
redis
里面,然后再去同步数据库。前台取数据的时候直接去redis
. Suggestion personnelle, à titre indicatif seulementLorsque la séparation en lecture et en écriture ne peut pas atteindre les performances, la division horizontale est généralement utilisée pour résoudre le problème :
De plus, la séparation de la lecture et de l'écriture ne peut garantir la cohérence des données. Par exemple, si l'utilisateur se connecte juste après son inscription, si le login lit à partir de la base de données esclave, alors lorsque l'utilisateur se connecte juste après son inscription, ce ne sont que les données d'enregistrement. n'a pas encore été synchronisé avec la base de données esclave, la connexion échouera.
Au contraire, une simple division horizontale n'aura pas de problème d'incohérence des données, car une donnée utilisateur tombe toujours dans une seule partition.