実際のプロジェクトでは、MySQL データベース サーバーが別のホストに配置され、ネットワーク経由でデータベースにアクセスする必要がある場合があります。アプリケーションと MySQL データベースが同じホスト上にある場合でも、MySQL へのアクセスにはディスク IO 操作も含まれます (MySQLまた、ディスク IO の読み取りと書き込みを削減できるデータ事前読み取りテクノロジーもいくつかあります。この部分については後で検討します)。
#つまり、MySQL からのデータの直接読み取りは、メモリからデータを直接読み取るほど効率的ではありません。データベースアクセスの効率を向上させるために、人々はさまざまな方法を採用してきましたが、その 1 つは、データベースとアプリケーションの間に配置されたメモリベースのキャッシュ システムを使用することです。 (推奨学習: Redisビデオチュートリアル)
#データを探したら、最初にメモリから検索してください。見つかった場合は、使用していない場合は、実際にデータベースにアクセスします。この方法により、一部のシナリオ (同じデータを頻繁に検索する場合など) でシステムの全体的な効率を向上させることができます。
redis nosql データベースを Mysql データベースのキャッシュとして使用します。検索するときは、まず redis キャッシュを検索し、見つかった場合は結果を返し、redis で見つからなかった場合は検索します。 Mysql データベースでは、花が見つかった場合は結果が返され、redis が更新されますが、見つからなかった場合は空が返されます。
書き込みの場合、mysql データベースに直接書き込みます。mysql データベースは、トリガーと UDF メカニズムを通じて、変更された内容を Redis に自動的に更新します。
ブロック図:
##読み取り手順:
1.クライアントは redis を読み取り、ヒットがあれば結果を返します。ヒットがなければ 2.2 に進みます。クライアントはデータベースを読み取り、データベースに見つからない場合は、空を返します; データベース内で見つかった場合は、見つかった結果を返します。結果と Redis を更新します。記述手順:
1. クライアントは MySQL にデータを変更/削除、または追加します。 2. MySQL トリガーはユーザー定義の UDF を呼び出します。 3. UDF は、変更/削除されたデータ、または新しく追加されたデータを Redis に更新します。以上がRedisを使用してmysqlをキャッシュする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。