MySQL はディスクに保存される永続的なストレージであり、取得には一定の IO が伴うことはご存じのとおりです。このボトルネックを解決するために、最も一般的に使用される memcached (略して mc) などのキャッシュが登場しました。まず、ユーザーは mc にアクセスします。ヒットしない場合は、mysql にアクセスします。すると、メモリやハードディスクと同様に、データが mc の一部にコピーされます。 redis と MC はどちらもキャッシュであり、どちらもメモリ内で実行されるため、データ量の多い Web アクセスのアクセス速度が大幅に向上します。ただし、mc は文字列ストレージなどの単純なデータ構造のみを提供します。redis は、文字列、リスト、セット、ハッシュセット、ソートセットなどの多数のデータ構造を提供するため、ユーザーにとって非常に便利です。結局のところ、実用的な機能のレイヤーをカプセル化し、同じ効果を実現します。もちろん、redis を使用して、徐々に mc を放棄します。 メモリとハードディスクの関係は、ハードディスクには永続的なストレージのための主なデータが保存され、メモリには現在実行中のデータが保存されるということです。CPU はディスクではなくメモリにアクセスするため、実行速度が大幅に向上します。もちろん、これはプログラムのローカル アクセスの原則に基づいています。 redis+mysql について考えると、これはメモリとディスクの関係のマッピングです。MySQL はディスク上に配置され、redis はメモリ内に配置されます。このようにして、Web アプリケーションは毎回 redis のみにアクセスし、データが見つからない場合にのみ Mysql にアクセスします。 ただし、redis+mysql とメモリ+ディスクの使用方法は異なる方がよいでしょう。 前者はインメモリデータベースであり、データはメモリ上に保存されるため、当然高速です。 後者は、強力な機能を備えているがデータ アクセスが遅いリレーショナル データベースです。 memcache、mongoDB、Redis などはすべて No sql シリーズに属します。 これらは同じタイプではなく、適用シナリオも異なります。それはあなたのニーズによって異なります。 要約する 以上が、この記事における Redis と MySQL の違いについての簡単な説明です。興味のある方は、SQL と MySQL ステートメントの実行順序の分析、いくつかの重要な MySQL 変数、MySQL の FIND_IN_SET() と IN の違いの簡単な分析を参照してください。不足している点がある場合は、メッセージを残して修正してください。これが皆さんのお役に立てば幸いです。 以下もご興味があるかもしれません:
|
<<: Docker を使用して Spring Boot をデプロイする方法の例
>>: dockercompose を使用して springboot-mysql-nginx アプリケーションをビルドする
序文:最近、インスタンスの移行の問題に遭遇しました。データの移行後、データベースのユーザーと権限も移...
目次1. スコープはさまざまな方法で表現されます2. 変動昇進と非昇進の違い3. 一時的なデッドゾー...
Vite とは何ですか? (フロントエンドの新しいおもちゃです) Vite は、ネイティブ ES モ...
環境の準備操作を開始する前に、hadoop バージョンがインストールされていることを確認してください...
目次1. 一般的な高階関数1.1、フィルター1.2、地図1.3、減らすHigher Order fu...
目次JS 関数呼び出し、適用、バインドメソッド1. call() メソッド1. call() メソッ...
序文すでに Docker をインストールしており、Docker について簡単に理解しています。ここで...
目次1. 操作要素1.1. 要素コンテンツの変更1.2. innerText と innerHtml...
Linux 構成/ビルド システムがどのように機能するかを深く理解します。 Linux カーネル構成...
CentOS に Docker をインストールするには、オペレーティング システムが CentOS ...
目次成果を達成する実装コード最近、会社でelementUIを使い始めたため、開発の過程でテーブルのセ...
0. はじめにibdata1 ファイルとは何ですか? ibdata1 は、innodb システム テ...
Docker コンテナ内のプログラムは、ホスト ディレクトリ内のデータにアクセスして呼び出す必要があ...
XML/HTML コードコンテンツをクリップボードにコピー< div クラス= "c...
使用状態useState は、関数コンポーネント内で呼び出すことで、コンポーネントに内部状態を追加し...