Probleme mit der Datenkonsistenz von MySQL und Redis

Hintergrund

  In Geschäftsszenarien mit hoher Parallelität wird der Leistungsengpass der Datenbank häufig durch übermäßigen gleichzeitigen Benutzerzugriff verursacht, sodass ein Redis-Puffer vorhanden ist.

Fall

  1. A schreiben, B lesen,

    Schreiben: 1. Cache entfernen 2. Schreibvorgang (1s aus verschiedenen Gründen verbraucht) 3. Cache aktualisieren

    Lesen: 1. Cache lesen 2. DB 3-Update-Cache lesen

    Das Lesen vor dem erfolgreichen Schreiben führt dazu, dass schmutzige Daten gelesen werden. Der Cache ist nicht die neueste Daten

  Zweitens die Trennung von Master und Slave

    Auf die gleiche Weise liest der Lesevorgang während der Master-Slave-Verzögerung verschmutzte Daten

 

Löse:

  1. Eliminierungsmechanismus, jedes Mal nach dem Schreiben von Daten, um den Cache alle paar Sekunden zu eliminieren

  2.binlog, Redis aktualisiert Redis gemäß den Datensätzen im binlog

 

Ich denke du magst

Origin www.cnblogs.com/xingkongyihao/p/12676825.html
Empfohlen
Rangfolge