redis データベースの長所と短所:
(学習ビデオの推奨: redis ビデオ チュートリアル)
1. Redis の使用メリットは何ですか?
(1) HashMap と同様にデータがメモリに保存されるため高速です。HashMap の利点は、検索と操作の時間が O(1)
(2) であることです。 ) 豊富なサポート データ型、文字列、リスト、セット、ソート セット、ハッシュをサポート
#(3) トランザクションをサポート、操作はすべてアトミックです。いわゆるアトミックとは、データに対するすべての変更が実行されるか、または実行されることを意味します。まったく実行されません(4) 豊富な機能: キャッシュ、メッセージに使用でき、キーごとに有効期限を設定でき、有効期限が切れると自動的に削除されます2. の利点は何ですか? redisとmemcachedの比較?##3. Redis の一般的なパフォーマンスの問題と解決策:
#(1) マスターはそれを行わないのが最善です 永続化作業RDB メモリ スナップショットや AOF ログ ファイルなど
関連知識: サイズRedis メモリ データ セットの増加が特定のサイズに達すると、データ削除戦略が実装されます。 redis は 6 つのデータ削除戦略を提供します。
1), 保存方法
7. Redis が最適なシナリオ
Redis は、メモリ内のすべてのデータ シナリオに最適です。Redis は永続化機能も提供しますが、実際にはディスク ベースの機能に近く、まったく異なります。従来の意味での永続性とは異なりますが、疑問があるかもしれません。Redis は Memcached の拡張バージョンに近いようです。では、いつ Memcached を使用し、いつ Redis を使用するのでしょうか?
単純に比較すると、 Redis と Memcached の違い、大きな違い ほとんどの人は次のような見方をします:
1. Redis は、単純な k/v 型データをサポートするだけでなく、リスト、セット、zset、ハッシュなどのデータ構造のストレージも提供します。
2. Redis はデータ バックアップ、つまりマスター/スレーブ モードでのデータ バックアップをサポートしています。
3. Redis はデータの永続性をサポートしており、データをディスク上のメモリに保持し、再起動時に再度ロードして使用できます。
(1) セッション キャッシュ
Redis を使用するために最も一般的に使用されるシナリオは、セッション キャッシュです。 Redis を使用して他のストレージ (Memcached など) 上でセッションをキャッシュする利点は、Redis が永続性を提供することです。一貫性を厳密に必要としないキャッシュを維持する場合、ユーザーのショッピング カート情報がすべて失われると、ほとんどの人は不満を抱くでしょう。
幸いなことに、Redis は長年にわたって改良されてきたため、Redis を適切に使用してセッション ドキュメントをキャッシュする方法を見つけるのは簡単です。有名な商用プラットフォーム Magento でも Redis プラグインが提供されています。
(2)、フル ページ キャッシュ (FPC)
基本的なセッション トークンに加えて、Redis は非常にシンプルな FPC プラットフォームも提供します。一貫性の問題に戻りますが、Redis インスタンスが再起動されても、ユーザーはディスクの永続性によりページの読み込み速度が低下することはありません。これは、PHP ローカル FPC と同様に、大きな改善です。
Magento を例としてもう一度取り上げます。Magento は、Redis をフルページ キャッシュ バックエンドとして使用するためのプラグインを提供します。
さらに、WordPress ユーザー向けに、Pantheon には非常に優れたプラグイン wp-redis があり、閲覧したページをできるだけ早く読み込むのに役立ちます。
(3) キュー
メモリ ストレージ エンジンの分野における Redis の大きな利点の 1 つは、リストおよびセット操作を提供し、これにより Redis を優れたメッセージ キューとして使用できることです。プラットホーム。 Redis によってキューとして使用される操作は、ローカル プログラミング言語 (Python など) のリストのプッシュ/ポップ操作に似ています。
Google で「Redis キュー」をすぐに検索すると、すぐに多数のオープンソース プロジェクトが見つかります。これらのプロジェクトの目的は、Redis を使用して、さまざまなキューに対応する非常に優れたバックエンド ツールを作成することです。ニーズがあります。たとえば、Celery には Redis をブローカーとして使用するバックエンドがあり、ここから確認できます。
(4)、ランキング/カウンター
Redis は、メモリ内の数値を増減する操作を非常に適切に実装しています。 Sets と Sorted Sets を使用すると、これらの操作を非常に簡単に実行できます。Redis が提供するのは、これら 2 つのデータ構造だけです。したがって、ソートされたセットから上位 10 人のユーザーを取得する必要があります。それらを「user_scores」と呼びます。次のように実行するだけです。
もちろん、これは昇順でソートしていることを前提としています。ユーザーのスコアに基づいて。ユーザーとユーザーのスコアを返したい場合は、次のように実行する必要があります:
ZRANGE user_scores 0 10 WITHSCORES
Agora Games は Ruby で実装された良い例です。ランキングリスト データの保存には Redis を使用しています。ここで確認できます。
(5)、パブリッシュ/サブスクライブ
最後 (重要なことですが) は、Redis のパブリッシュ/サブスクライブ機能です。パブリッシュ/サブスクライブには実際に多くの使用例があります。人々がこれをソーシャル ネットワーク接続で使用したり、パブリッシュ/サブスクライブ ベースのスクリプトのトリガーとして使用したり、Redis のパブリッシュ/サブスクライブ機能を使用してチャット システムを構築したりしているのを見てきました。 (いいえ、これは本当です。ぜひチェックしてみてください。)
Redis が提供するすべての機能の中で、これはユーザーに多機能を提供するにもかかわらず、最も好まれない機能だと私は感じています。
関連する推奨事項: redis データベース チュートリアル
以上がRedis の長所と短所、および使用シナリオは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。