ホームページ  >  記事  >  データベース  >  Wheat Academy が Redis ビデオ素材の共有を簡単に説明します

Wheat Academy が Redis ビデオ素材の共有を簡単に説明します

巴扎黑
巴扎黑オリジナル
2017-08-25 16:13:411368ブラウズ

Redis はストレージ システムです。文字列 (文字列)、リスト (リンク リスト)、セット (セット)、zset (並べ替えられたセット - 順序付きセット)、ハッシュ (ハッシュ タイプ) など、比較的多くの値の種類の格納をサポートします。 「Maizi Academy の詳細な Redis ビデオ チュートリアル」では、このシステムを浅いところから深いところまで理解することができます。

redis は、キーと値のストレージ システムです。 Memcached と同様に、string (文字列)、list (リンク リスト)、set (セット)、zset (並べ替えられたセット - 順序付きセット)、および hash (ハッシュ タイプ) など、比較的多くの保存された値の種類をサポートします。これらのデータ型はすべて、プッシュ/ポップ、追加/削除、交差、結合、差分などの豊富な操作をサポートしており、これらの操作はすべてアトミックです。これに基づいて、redis はさまざまな並べ替え方法をサポートします。 memcached と同様に、データは効率を確保するためにメモリにキャッシュされます。違いは、redis が定期的に更新されたデータをディスクに書き込むか、追加のレコード ファイルに変更操作を書き込むこと、そしてこれに基づいてマスターとスレーブ (マスターとスレーブ) の同期が実現されることです。

Redis は、高性能のキーと値のデータベースです。 Redis の出現により、memcached などのキー/値ストレージの欠点が大幅に補われ、状況によってはリレーショナル データベースに対して非常に優れた補完的な役割を果たすことができます。 Java、C/C++、C#、PHP、JavaScript、Perl、Object-C、Python、Ruby、Erlang およびその他のクライアントを提供しており、非常に使いやすいです。

Redis はマスターとスレーブの同期をサポートしています。データはマスター サーバーから任意の数のスレーブ サーバーに同期でき、スレーブ サーバーは他のスレーブ サーバーに関連付けられたマスター サーバーになることもできます。これにより、Redis は単一レベルのツリー レプリケーションを実行できるようになります。保存すると、意図的または非意図的にデータが書き込まれる可能性があります。パブリッシュ/サブスクライブ メカニズムが完全に実装されているため、スレーブ データベースが任意の場所でツリーを同期すると、チャネルにサブスクライブして、マスター サーバーの完全なメッセージ リリース レコードを受信できます。同期は、読み取り操作のスケーラビリティとデータ冗長性に役立ちます。

Wheat Academy が Redis ビデオ素材の共有を簡単に説明します

ビデオ再生アドレス: http://www.php.cn/course/566.html

学習の難しさ:

nosqlの使用:

高いパフォーマンス、DBの高同時実行rw (web2 .0 Web サイトは動的ページを生成し、ユーザーの個人情報に基づいて動的情報をリアルタイムで提供する必要があるため、動的ページの静的テクノロジを使用することは困難です。そのため、DB の同時実行性と負荷の要件は非常に高く、多くの場合数万に達します。関係 分散クラスターを含む大規模 DB は、数万のクエリ (r) に耐えることができますが、数万の SQL 書き込み操作に対応できる場合、物理ハードディスク IO は耐えられなくなります。通常の大規模な BBS ウェブサイトの場合、

巨大なストレージ、高効率のストレージ、および大量のデータへのアクセス要件が必要です (大規模な SNS の場合、ユーザーは毎日大量の動的データを生成します)。たとえば、毎月 2 億 5,000 万件のユーザー更新がある Friendfeed や、リレーショナル DB の場合、数億のレコードを持つテーブルに 2.5 の SQL クエリを保存したい場合、大規模な Web サイトのユーザー ログイン システムは非常に非効率的です。 Tencent、Shengda などには数億のアカウントがあり、リレーショナル DB では処理が困難です);

高いスケーラビリティと高可用性、高いスケーラビリティと高可用性の要件 (インターネット Web サイトのアーキテクチャでは、DB が最も重要です)アプリケーションシステムのユーザー数やアクセス数が日々増加する中、拡張性能や負荷容量を必要とする多くのWebサイトに対してDBが単純にハードウェアノードを追加することは困難です。 24 時間中断のないビジネスを提供するには、DB のアップグレードと拡張が非常に困難であり、多くの場合、ダウンタイムのメンテナンスとデータ移行が必要になります);従来のリレーショナル DB は DB トランザクションの一貫性要件を維持する必要があるため、

DB の r リアルタイム要件と w リアルタイム要件を満たすことができません (DB にデータを挿入した直後のリレーショナル DB クエリの場合)。それはわかりますが、多くの Web アプリケーションでは、そのような高いリアルタイム パフォーマンスは必要ありません)

複雑な SQL クエリ、特にマルチテーブル関連のクエリ要件 (大量のデータ Web システム、特に SNS は、需要と製品設計の観点から、複数の大きなテーブルの相関クエリや複雑なデータ分析タイプの SQL クエリは非常にタブーであり、これを回避するために、単一テーブルのより多くの主キー クエリや単純な条件付きページング クエリがよく使用されます。単一テーブルの場合、SQL の機能は大幅に弱まります);

以上がWheat Academy が Redis ビデオ素材の共有を簡単に説明しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。