、
まず、Redis の基本的な概念をいくつか紹介しましょう。Redis は Nosql データベースであり、キーと値のストレージ システムです。 Redis はキーと値のストレージ システムですが、文字列、リンク リスト、セット、順序付きセット、ハッシュなど、多くの値のストレージ タイプをサポートしています。
では、なぜ redis のような Nosql データベースを使用するのでしょうか?
1) データの合計サイズが 1 台のマシンに収まらない場合;
2) データ インデックスが 1 台のマシンのメモリに収まらない場合;
3) アクセス量(読み書き混在)が 1 つのインスタンスに収まりきらない場合。
スタンドアロン時代では、ストレージ用に MySQL をインストールするのに 1 台のマシンだけが使用されます。毎回何千ものデータが保存されると、MySQL のパフォーマンスが低下し、ストレージと読み取りの速度が低下します。非常に遅いですが、その後、キャッシュ mysql の垂直分割の方法に進化します。
キャッシュは、中間キャッシュ時代として、データベースの負荷を軽減し、効率を向上させるために、最初にすべてのデータをキャッシュに保存してから、それを mysql に保存します。
しかし、データが再び大きくなると、上記の方法では需要を満たすことができなくなり、データベースの書き込み圧力が増加するため、キャッシュはデータベースの読み取り圧力を軽減することしかできません。 1 つのデータベースに読み取りと書き込みが集中すると、データベースに負荷がかかります。ほとんどの Web サイトでは、読み取りと書き込みのパフォーマンスと読み取りデータベースのスケーラビリティを向上させるために、読み取りと書き込みを分離するためにマスター/スレーブ レプリケーション テクノロジを使用し始めています。 Mysql のマスター/スレーブ モードは、現時点では Web サイトの標準になっています。
Redis キャッシュ、MySQL マスター/スレーブ レプリケーション、および読み取り/書き込み分離に基づくマスター/スレーブ分離モードの時代では、MySQL メイン データベースの書き込み圧力がボトルネックになり始め、データ量は増加し続けました。MyISAM はテーブル ロックを使用するため、同時実行性が高いと深刻なロックの問題が発生するようになりました。多数の同時実行性の高い MySQL アプリケーションが、MyISAM の代わりに InnoDB エンジンを使用し始めました。
Nosql データベースの利点
1)拡張が簡単
これらのタイプのデータ ストレージは固定スキーマを必要とせず、冗長性を持たずに実行できます。操作 水平方向の拡張。リレーショナル データベースと比較して、テーブルとフィールドの数を減らすことができます。また、アーキテクチャ レベルでのスケーラブルな機能も実現します
2)大量のデータによりパフォーマンスが向上します
3)多様で柔軟なデータ モデル
Redis 関連の技術記事の詳細については、 Redis チュートリアル をご覧ください。 # 学べるコラム!
以上がRedis キャッシュを使用する理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。