この記事では、MySQLとRedisキャッシュを同期するための2つのソリューションを紹介します。
1. ソリューション 1 (UDF)シナリオ分析: MySQLデータベースでデータ操作を実行すると、対応するデータが同時にRedisに同期されます。Redisに同期した後、クエリ操作はRedisから検索されます。 プロセスはおおよそ次のようになります。 MySQLで操作するデータにトリガーを設定し、操作を監視する クライアント(NodeServer)がMySQLにデータを書き込むと、トリガーがトリガーされ、トリガー後にMySQL UDF関数が呼び出されます。 UDF関数はRedisにデータを書き込んで同期効果を実現できる ソリューション分析:
デモケース以下はMySQLテーブルです 以下はUDFの解析コードです 対応するトリガーを定義する 2. ソリューション2(binlogの解析)ソリューション 2 を紹介する前に、まず次の図に示すように、MySQL レプリケーションの原理を紹介します。
解決策2は次のとおりです。
たとえば、クラウド データベース インスタンスの分析は次のとおりです。 クラウド データベースとローカル データベースはマスターとスレーブの関係にあります。クラウド データベースは主に書き込みサービスを提供するプライマリ データベースであり、ローカル データベースはプライマリ データベースからデータを読み取るセカンダリ データベースです。 ローカル データベースはデータを読み取った後、Bin ログを解析し、同期のためにデータを Redis に書き込みます。その後、クライアントは Redis からデータを読み取ります。 この技術的ソリューションの難しさは、MySQL Bin Log をどのように解析するかにあります。ただし、これには、binlog ファイルと MySQL に関する非常に深い理解が必要です。同時に、binlog は Statement/Row/Mixed レベルなど複数の形式で存在するため、同期を実現するために binlog を分析する作業負荷は非常に大きくなります。 キャナルオープンソーステクノロジーCanal は、純粋な Java で開発された Alibaba のオープンソース プロジェクトです。データベースの増分ログ分析に基づいて、増分データのサブスクリプションと消費を提供します。現在は主にMySQLをサポートしています(mariaDBもサポートしています) オープンソースの参照アドレスは https://github.com/liukelin/canal_mysql_nosql_sync です。 仕組み(MySQL レプリケーションを模倣):
建築: サーバーは、JVMに対応するチャネル実行インスタンスを表します。 インスタンスはデータ キューに対応します (1 つのサーバーは 1..n 個のインスタンスに対応します) インスタンスモジュール:
一般的な解析プロセスは次のとおりです。
Canclの詳細については、Baiduで検索してください。 以下は動作トポロジー図です MySQL テーブルの同期は責任連鎖モデルを採用しており、各テーブルはフィルターに対応します。たとえば、zvsync で使用されるクラスの設計は次のとおりです。 以下は、具体的な zvsync で使用されるクラスです。テーブルが追加または削除されるたびに、直接追加または削除できます。 3. 追加この記事の上記の紹介は、MySQL からキャッシュへの同期に関するものです。しかし、実際の開発では、次のような解決策を使用する人もいます。
これで、MySQL と Redis Cache の同期ソリューションに関するこの記事は終了です。MySQL と Redis Cache の同期の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Vueは2つのルーティング許可制御メソッドを実装しています
まとめHTML: 要素と v-cloak CSS: [v-cloak]{表示: なし}プロセスページ...
この記事では、純粋な CSS3 を使用してモバイル端末での展開と折りたたみの効果を実装するサンプルコ...
Text の height 属性が定義されている場合、Text に入力されたテキストは垂直方向に中央...
まず、href 属性と onclick イベントの実行順序について説明します。マウスが a タグをク...
VScode リモートデバッグ Linux プログラムの問題について見てみましょう。具体的な内容は以...
手順: 1. MySQLデータベースをインストールする1. MySQL-5.6.17-winx64....
フォーカス画像は、画像、テキスト、動的なインタラクティブ効果を統合したコンテンツを表示する方法です。...
序文この記事では、MySQL 5.7 グリーン バージョンのインストール チュートリアルを紹介します...
背景同社のサーバーはすべて Alibaba Cloud ECS ホストを購入しています。デフォルトの...
SVG は、さまざまな利点があるため、近年広く使用されています。残念ながら、WeChat ミニプログ...
要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS....
目次エラーメッセージ原因エラーのデモンストレーション回避策方法1方法2方法3エラーメッセージ現在の場...
MYSQLの解凍バージョンがインストールされます1: 解凍後、my.ini ファイルをコピーし、バイ...
目次ミキシンMixin ノート (重複名)ローカルミックスイングローバル ミックスイン定義とグローバ...
フォーラムでは、ネットユーザーから「HTML ファイル内の別の HTML ファイルの内容を読み取るこ...