背景
同時実行性の高いビジネスシナリオでは、データベースパフォーマンスのボトルネックは、過度の同時ユーザーアクセスが原因であることが多いため、Redisバッファーが存在します。
場合
1. A書き込み、B読み取り、
書き込み:1.キャッシュを削除する2.書き込み操作(さまざまな理由で1が消費される)3.キャッシュを更新する
読み取り:1.読み取りキャッシュ2.読み取りDB 3更新キャッシュ
書き込みが成功する前に読み取ります。ダーティデータが読み取られます。キャッシュは最新のデータではありません
第二に、マスターとスレーブの分離
同様に、マスター/スレーブ遅延のプロセスでは、読み取り操作でダーティデータが読み取られます
解決する:
1.データを書き込んだ後、数秒ごとにキャッシュを削除する消去メカニズム
2.binlog、Redisはbinlogのレコードに従ってRedisを更新します