まず、redis について簡単に紹介します。
(学習ビデオ共有: redis ビデオ チュートリアル)
Redis は、高性能の Key-Value データベースです。 Redis およびその他の Key-Value キャッシュ製品には、次の 3 つの特徴があります:
1. Redis はデータの永続化をサポートしており、メモリ内のデータをディスクに保存し、再起動時に再ロードして使用できます。
2. Redis は、単純なキーと値の型のデータをサポートするだけでなく、リスト、セット、zset、ハッシュなどのデータ構造のストレージも提供します。
3. 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 で実行できる非常に便利な機能はキューです。電子メール キューであっても、他のアプリケーションで使用されるデータであっても、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 データベース チュートリアル
以上がRedis の 5 つの主な用途をご存知ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。