redis をキャッシュとして使用する場合、データをデータベースに保存する必要がありますか? (推奨される学習: Redis ビデオ チュートリアル )
私の答えは次のとおりです:
redis は単なるキャッシュです。 mysql などのデータベースではないため、redis 内のデータベースは mysql 内にある必要があります。
ユーザー リクエストは最初に redis をリクエストし、そうでない場合はデータベースからそれを読み取ります。
比較的リクエスト量の多い一部のデータは redis にキャッシュされます (これらのキャッシュされたデータは mysql でも利用できる必要があります) すべてのデータを redis にキャッシュする必要はありません。
キャッシュからデータを取得する方が速い理由は、ディスク上に保存される mysql データとは異なり、キャッシュされたデータはメモリ内に存在するためです。ディスクからメモリのこのプロセスにデータをロードする必要があり (このプロセスは非常に時間がかかり、非効率的です)、メモリから直接データを取得します。
Redis キャッシュがクラッシュすると、大量のリクエストがデータベースにアクセスすることはありませんか?データベースは存続できるでしょうか?
それを受け入れて分析してください。何千億ものリクエストが同時にアクセスされた場合、データベースはなぜそれを処理できないのでしょうか?
①データベースは大量の同時実行を処理できません。
例を見れば分かります。
1 億の plsql クライアントが、データベースのクエリ、書き込み、その他の操作のために同時に Oracle にアクセスすると、データベースにとっては間違いなく圧倒されます。
この観点から見ると、redis はあまり役に立ちません。
②データベースは低速なデバイス上に存在しており、データベースにアクセスするたびにディスクからメモリへの転送処理であるioが必要となります。これが、redis などのキャッシュ メカニズムを使用する理由です。
Redis 関連の技術記事の詳細については、Redis 入門チュートリアル 列にアクセスして学習してください。
以上がどのデータを Redis に配置し、どのデータをデータベースに配置する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。