Redis の概要
Redis は、高性能のキー/値データベースです。
Redis には、他のキー値キャッシュ製品と同様に次の 3 つの機能があります。
- Redis はデータの永続化をサポートし、メモリ内のデータをディスクに保存でき、Load を再起動するときに再度使用できます。使用するために。
- Redis は、単純なキーと値の型のデータをサポートするだけでなく、リスト、セット、zset、ハッシュなどのデータ構造のストレージも提供します。
#-Redis はデータ バックアップ、つまりマスター/スレーブ モードでのデータ バックアップをサポートしています。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 が提供する機能の中で最も過小評価されていますが、非常に強力で使い方も簡単です。// 向通道中推送消息 PUBLISH channel message // 从通道中获取消息 SUBSCRIBE channel
結論
これらの実際の Redis の使用法を楽しんでいただければ幸いです。この記事は Redis ができることの表面をなぞっただけですが、Redis を最大限に活用する方法についてのインスピレーションを得ていただければ幸いです。以上がRedisの用途は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。