どのようなビジネスが Redis の使用に適していますか?

リリース: 2019-07-04 13:41:49
オリジナル
2956 人が閲覧しました

どのようなビジネスが Redis の使用に適していますか?

1. 最新の N データを取得する操作

たとえば、通常、Web サイトの最新の記事を取得する場合、次の方法で最新のデータを取得できます。 5000 コメント ID は Redis の List コレクションに配置され、余分な部分はデータベースから取得されます

#LPUSH 最新.comments コマンドを使用してリスト コレクションにデータを挿入します

挿入が完了した後に使用します。 LTRIM 最新.comments 0 5000 コマンドは、常に最新の 5000 ID のみを保存します。

クライアントが特定のページでコメントを取得するときに、次のロジック (疑似コード) を使用できます

FUNCTION get_latest_comments (start,num_items): id_list =redis.lrange("latest.comments",start,start num_items-1) IFid_list.length < num_items id_list = SQL_DB("SELECT ... ORDER BY timeLIMIT . ..") END RETURN id_listEND

特定のカテゴリの最新 N 項目など、異なるフィルタリング ディメンションがある場合は、このカテゴリに従って別のリストを作成できます。ID のみを保存する場合、Redis は次のようになります。非常に効率的です。

2. ランキング アプリケーション、上位 N 個の操作を取得します

この要件と上記の要件の違いは、前の操作では重みとして時間を使用し、今回の操作では特定の条件を重みとして使用することです。いいねの数で並べ替えるには、この時点でソートセットが必要です。ソートしたい値をソートセットのスコアに設定し、特定のデータを対応する値に設定するだけです。毎回 1 つの ZADD コマンドを実行します。

3. 有効期限を正確に設定する必要があるアプリケーション

たとえば、上記の並べ替えセットのスコア値を有効期限のタイムスタンプに設定できます。有効期限切れ時刻の並べ替え、有効期限切れデータの定期的な消去を使用します。Redis 内の期限切れデータを消去するだけでなく、Redis 内の有効期限時刻をデータベース内のデータのインデックスとして完全にみなすことができます。Redis を使用して、どのデータを期限切れにして削除する必要があるかを見つけます。そして、データベースから対応するレコードを正確に削除します。

4. カウンタ アプリケーション

Redis コマンドはすべてアトミックなので、INCR および DECR コマンドを使用して簡単にカウンタ システムを構築できます。

5. 一定期間内の全データの重複排除値を取得するUniq操作

これはRedisの設定されたデータ構造を利用するのに最適です。データをセットに投げ続けます。セットはコレクションを意味するため、自動的にソートされます。

6. リアルタイムシステム、スパム対策システム

上記の set 関数により、エンドユーザーが特定の操作を行ったかどうかを知ることができ、一連の操作を見つけることができます。操作の実行と分析、統計的な比較など。不可能なことは何もありません、ただ想像できないだけです。

7. Pub/Sub はリアルタイム メッセージング システムを構築します

Redis の Pub/Sub システムは、構築されたリアルタイム チャット システムの多くの例など、リアルタイム メッセージング システムを構築できます。 Pub/Sub を使用します。

8. キュー システムを構築する

リストを使用してキュー システムを構築し、ソート セットを使用して優先キュー システムを構築することもできます。

9. キャッシュ

パフォーマンスは Memcached よりも優れており、データ構造はより多様です。

Redis 関連の知識の詳細については、

Redis 使用法チュートリアル 列をご覧ください。

以上がどのようなビジネスが Redis の使用に適していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート