キャッシュとデータベースの一貫性

       あなたのビジネスが成長するにつれて、トラフィックがより多くなり、我々はまた、DBの圧力が増加している、我々は、DBの圧力を減らすための手段の多くがかかります。これは多く、複雑なバランス、CDN、キャッシング、読み取りと書き込みの分離、クラスターがあることを意味します。キャッシュはより一般的なここで、だけでなく、より高い性能を意味します。しかし、多くの場合、頻繁に変更されないデータのために使用されるキャッシュを使用しますが、我々はまた、存在と一貫性のあるデータベースキャッシュされたシーンを必要とします。例えば、修飾された製品特性、速やかにユーザインターフェース上に表示されるべきです。汚れが原因誤解を招くユーザーを読んで、読み込みを防止するために、我々はキャッシュとデータの一貫性を行う必要があります。

  eノードグループこれで、唐Xuehua教師は、2つのオプションが与えられています。第1のタイミングジョブ+キャッシュレコード。我々は、通常のDBデータは、データをキャッシュを読むことが第一です。キャッシュキーがデータベースに格納されている間、我々は、各DB(CRUD)操作を行うことができます。あなたはDB操作が成功した場合、対応するキーが成功することを保証できるように、キー操作とデータ挿入操作は、ものです。今回は、それを再読み込みしますDB、時限タスクのキャッシュを削除するには、DBキーによると、その後、ユーザの要求以上を開き、再キャッシュされました。これは、メカニズム遅延ロード、および実装が容易です。変更が頻繁にある場合は、直接キャッシュを更新するのではなく削除されたとき、突然圧倒DBを防ぐために、キャッシュヒット率を低下させないように、あなたは、仕事を考えることができます。同時のあなたの数に応じて、キャッシュを削除したり、更新するかどうかをJOB。

  第2のスキームは、CAPの感覚に幾分類似メッセージキューの実装を使用します。直接DBを更新しますが、メッセージを送信しないようにデータを変更します。このメッセージが関係しているキャッシュを更新するために、同時にDBを更新しています。更新DBに失敗した場合は、このニュースが失敗したことを検討してください。キャッシュが正常に更新されるまでは結果整合するように更新DBの成功、キャッシュを更新するために失敗した場合、そのメッセージは、再試行されます。次に、あなたのニュース消費電力および他の方法は、あなたがもう一度試すことができることを保証するために行われなければなりません。

  

おすすめ

転載: www.cnblogs.com/learnEver/p/10953027.html