Redis とは
redis は nosql (SQL だけでなく SQL) データベースであり、中国語に翻訳すると非リレーショナルと呼ばれます。データベース。
1. nosql とは何ですか?
NoSQL は通常、非リレーショナル データベースを指します。NoSQL は SQL だけではなく、リレーショナル データベースを補完するのに適しています。 。インターネット Web2.0 Web サイトの台頭により、非リレーショナル データベースは現在非常に人気のある新しい分野となり、非リレーショナル データベース製品は非常に急速に開発されています。従来のリレーショナル データベースは、Web2.0 Web サイト、特に超大規模で同時実行性の高い SNS タイプの Web2.0 の純粋に動的な Web サイトに対応できず、次のような多くの克服できない問題を露呈しています。パフォーマンス - データベースの同時読み取りと書き込みの必要性
Web2.0 Web サイトは動的ページを生成し、ユーザーの個人情報に基づいて動的情報をリアルタイムで提供する必要があるため、動的ページを使用することは基本的に不可能です。静的テクノロジのため、データベースの同時負荷は非常に高く、多くの場合、1 秒あたり数万件の読み取りおよび書き込みリクエストに達します。リレーショナル データベースは、数万件の SQL クエリにはかろうじて耐えることができますが、数万件の SQL 書き込みデータ要求になると、ハードディスク IO は耐えられなくなります。実際、通常の BBS Web サイトでは、Web サイトのオンライン ユーザー状況のリアルタイム統計、人気のある投稿のクリック数の記録、投票集計など、同時書き込みリクエストが頻繁に必要となるため、これはは非常に一般的な要求です。
2. 大容量ストレージ - 大量のデータの効率的なストレージとアクセスの必要性
Facebook、twitter、Friendfeed などの SNS Web サイトは、Friendfeed を例に挙げて、毎日大規模なユーザー ダイナミクスを生成します。 1 か月に 2 億 5,000 万件のユーザー更新があり、リレーショナル データベースの場合、2 億 5,000 万のレコードを持つテーブルで SQL クエリを実行することは非常に非効率的であるか、耐えられないことさえあります。もう 1 つの例は、Tencent や Shanda などの大規模 Web サイトのユーザー ログイン システムです。これらの Web サイトには数億のアカウントが存在することが多く、リレーショナル データベースへの対応も困難です。
3. 高スケーラビリティ && 高可用性 - データベースの高スケーラビリティと高可用性の要件
Web ベースのアーキテクチャでは、データベースを水平方向に拡張することが最も困難です。ユーザー数とアプリケーション システムへのアクセス数は日々増加していますが、ハードウェアや Web サーバーやアプリ サーバーなどのサービス ノードを追加するだけではデータベースのパフォーマンスと負荷容量を拡張できません。 24 時間中断のないサービスを提供する必要がある多くの Web サイトでは、データベース システムのアップグレードと拡張は非常に困難であり、多くの場合、ダウンタイムのメンテナンスとデータの移行が必要になります。サーバー ノードを継続的に追加することでデータベースを拡張できないのはなぜですか?
NoSQL データベースは、大規模なデータ収集と複数のデータ型によってもたらされる課題、特にビッグ データ アプリケーションの問題を解決するために作成されました。
2. NoSQL データベースの 4 つの主要カテゴリKey-Value ストレージ データベース
関連製品: Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB 一般的なアプリケーション: コンテンツ キャッシュ。主に大量のデータの高アクセス負荷を処理するために使用されます。データ モデル: 一連のキーと値のペア 長所: 高速なクエリ 短所: 保存されたデータには構造化されたカラム ストレージ データベースが欠落しています
関連製品: Cassandra、HBase、Riak 一般的なアプリケーション: 分散ファイル システム データ モデル: カラムベースクラスタ化されたストレージは、同じ列のデータをまとめて保存します 利点: 検索速度が速く、拡張性が高く、分散拡張が容易です 欠点: 機能が比較的限定されています
ドキュメント データベース
関連製品: CouchDB、MongoDB典型的なアプリケーション: Web アプリケーション (キーと値に似ており、値は構造化されています) データ モデル: 一連のキーと値のペア 長所: データ構造の要件が厳密ではありません 短所: クエリのパフォーマンスが高くなく、統一されたクエリが不足しています構文
グラフ (グラフ) データベース
関連データベース: Neo4J、InfoGrid、Infinite Graph 典型的なアプリケーション: ソーシャル ネットワーク データ モデル: グラフ構造の利点: グラフ構造関連のアルゴリズムを使用します。短所: 結果を得るにはグラフ全体を計算する必要があり、分散クラスター ソリューションを実装するのは簡単ではありません。
3. Redis の基本Redis はデータをメモリに保存します。コンテンツ アクセス速度が速いため、Redis はインターネット プロジェクトで広く使用されています。Redis の利点: アクセス速度公式には、読み取り速度は 1 秒あたり 30 万回、書き込み速度は 1 秒あたり約 10 万回に達するとされていますが、具体的な制限はハードウェアに限定されます。
欠点: 永続化のサポートは十分ではありません。
したがって、redis は通常、データのメイン データベース ストレージとしては使用されず、通常は従来のリレーショナル データベースとともに使用されます。
Redis は、オープン ソースの高性能キーと値のペア (key-value ペア)値) データベース。さまざまなシナリオでのストレージのニーズに適応するために、さまざまなキーと値のデータ型が提供されています。これまで Redis でサポートされているキーと値のデータ型は次のとおりです:
文字列型 ハッシュ型 リスト型 コレクション型
4. redisキャッシュのアプリケーション シナリオ (データ クエリ、短い接続、ニュース コンテンツ、製品コンテンツなど)。 (最もよく使用される) 分散クラスター アーキテクチャにおけるセッション分離。チャット ルームのオンライン友達リスト。タスクキュー。 (フラッシュセール、ラッシュセール、12306など) アプリランキング。ウェブサイトの訪問統計。データの有効期限処理 (ミリ秒単位の精度)
以上がRedis とはどのようなデータベースですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。