RedisとMySQLの違いを簡単に説明してください

RedisとMySQLの違いを簡単に説明してください

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 + Nodejs + Kafka + Redis + MySQL でシンプルな seckill 環境を構築する
  • PHP の Laravel フレームワークと MySQL および Redis データベースのデプロイメントを組み合わせたもの
  • MySQLからRedisにデータベースを移行する方法
  • CentOS インストール PHP5.5+Redis+XDebug+Nginx+MySQL 完全記録
  • Python を MySQL、MongoDB、Redis、memcache などのデータベースに接続する方法

<<:  Docker を使用して Spring Boot をデプロイする方法の例

>>:  dockercompose を使用して springboot-mysql-nginx アプリケーションをビルドする

推薦する

Centos7 システムでの .NET Core 2.0 + Nginx + Supervisor 環境の構築

1. Linux .NET Core の紹介Microsoft は常に自社のプラットフォームに対して...

MySQLの文字セットを変更する方法

1. MySQLの文字セットを確認する '%char%' のような変数を表示します。...

高度なクローラー - JS 自動レンダリングのための Scrapy_splash コンポーネントの使用

目次1. scrapy_splash とは何ですか? 2. scrapy_splashの役割3. s...

Vue の proto ファイルの関数呼び出しのグラフィカルな説明

1. protoをコンパイルするすべての .proto ファイルを保存するために、src フォルダー...

image/x-png の ContentType について

これにより、png ファイルのアップロードも不可能になりました (後で情報を調べたところ、レジストリ...

3つのDocker Nginxログの処理の詳細な説明

社内の同僚は Nginx ログの標準出力、つまりコンソール経由の処理を必要としているため、まずログを...

Vue で計算プロパティを使用する際の知識ポイントのまとめ

計算されたプロパティ場合によっては、テンプレートにロジックを詰め込みすぎると、テンプレートが重くなり...

Vue2.0+ElementUI+PageHelperで実装されたテーブルページング機能

序文最近、いくつかのフロントエンド プロジェクトに取り組んでおり、ページにいくつかのテーブルを表示す...

Dockerディスク容量不足の問題を解決する

Docker が配置されているサーバーをしばらく稼働させたところ、サーバーのディスク ディレクトリの...

JavaScriptにおけるこのポインティング問題の詳細な説明

序文信じてください。この記事の 7️⃣ ステップを覚えておけば、JS の this リファレンスを完...

Dockerオーバーレイはホスト間のコンテナ相互通信を実現します

目次1. Dockerの設定2. レジストリとネットワークを作成する3. コンテナを起動する環境説明...

CSS 線形グラデーション凹型長方形遷移効果の実装

この記事では、線形グラデーションの凹四角形の遷移効果の難しさやアイデアについて説明します。主に、凹四...

IE8を閲覧するときにウェブサイトが自動的にIE7互換モードを使用するようにする

序文IE の将来のすべてのバージョンで Web ページの外観が一貫していることを保証するために、IE...

ウェブレスポンシブレイアウトにおけるiframe適応の方法

問題<br />レスポンシブ レイアウトでは、iframe 要素に注意する必要があります...

ウェブサイトデザインにおいて非常に重要な概念であるdiv+floatの分析

ウェブサイトの構築では、HTML と CSS に関するさまざまな問題に常に遭遇します。ウェブサイト ...