一般に、制限の観点から言えば、Redis は、リアルタイムの高い同時実行性要件を満たすために、メッセージ キューの形式および埋め込みリストとしても存在します。通常、電子商取引型のデータ処理プロセスでは、関連商品のキューや売れ筋、おすすめの並べ替えなどがRedisに保存されることが多く、StormによるRedisリストの読み込みや更新もプロセスに含まれます。
Redis は、高性能のキー/値データベースです。
Redis には、他の Key-Value キャッシュ製品と比較して次の 3 つの特徴があります:
- Redis はデータの永続化をサポートしており、メモリ内のデータをディスクに保存し、再起動することができます。使用するために。
- Redis は、単純なキーと値の型のデータをサポートするだけでなく、リスト、セット、zset、ハッシュなどのデータ構造のストレージも提供します。
#-Redis はデータ バックアップ、つまりマスター/スレーブ モードでのデータ バックアップをサポートしています。5 つの用途:
1. フルページ キャッシュ
フルページ キャッシュ。サーバー側でレンダリングされたコンテンツを使用している場合は、個別のリクエストごとに各ページを再レンダリングする必要はありません。 Redis のようなキャッシュを使用すると、頻繁にリクエストされるコンテンツをキャッシュできるため、最もリクエストされたページのレイテンシが大幅に短縮されます。また、ほとんどのフレームワークには Redis キャッシュ ページ用のフックがあります。// 设置全页面缓存1分钟 SET key "<html>...</html>" EX 60 // 获取全页面 GET key
2. 順次配置
Redis のメモリ内の Set データ構造は非常に迅速かつ効率的に増減できるため、パフォーマンスは SQL クエリよりもはるかに高くなります。 。これを Redis のソート セットと組み合わせて比較すると、ミリ秒単位でリスト内の最も評価の高い項目を取得でき、実装は非常に簡単です。// 向排序集合中添加值 ZADD sortedSet 1 "one" // 从排序集合中获取所有值 ZRANGE sortedSet 0 -1 // 从排序集合中获取所有值与权重 ZRANGE sortedSet 0 -1 WITHSCORES
3. セッション ストレージ
私がこれまでに見た Redis の最も一般的な用途はセッション ストレージです。 Memcache などの他のセッション ストアとは異なり、Redis はデータを永続化できるため、キャッシュが停止しても再起動してもすべてのデータがそのまま残ります。厳密に継続的なタスクではない場合でも、この機能によりユーザーの多くのトラブルを軽減できます。自分の会話が理由もなくランダムに削除されるのを好む人はいません。// 设置一分钟过期的session SET randomHash "{userId}" EX 60 // 获取用户ID GET randomHash
4. キューイング
あまり一般的ではありませんが、Redis で実行できる非常に便利な機能の 1 つはキューイングです。電子メール キューであっても、他のアプリケーションで使用されるデータであっても、Redis で効率的なキューを作成できます。スタックに精通しており、プロジェクトをプッシュおよびポップできる開発者は、この機能を簡単かつ自然に使用できます。// 添加消息 HSET messages <id> <message> ZADD due <due_timestamp> <id> // 接收消息 ZRANGEBYSCORE due -inf <current_timestamp> LIMIT 0 1 HGET messages <message_id> // 删除消息 ZREM due <message_id> HDEL messages <message_id>
5.pub/sub
Redis の実際の究極の使用法は、この記事で紹介する pub/sub です。これは Redis に組み込まれている最も強力な機能の 1 つであり、可能性は無限です。リアルタイム チャット システムを作成したり、ソーシャル ネットワーク上の友達リクエストの通知をトリガーしたりできます。この機能は、Redis が提供する機能の中で最も過小評価されていますが、非常に強力で使い方も簡単です。rree
以上がredisの機能とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。