TodayRedis チュートリアル 列では、フィード フローの実装方法を見てみましょう
1 はじめに
Moments と Weibo はすべてフィード フロー製品ですが、写真共有 Web サイト Pinterest や Huapet.com もあります。種類 フォーム内のフィードストリーム製品。多くのアプリには、ニュースまたはメッセージ プラザと呼ばれるモジュールもあり、これらもフィード ストリーミング製品です。
コアコンセプト
2 機能
3 カテゴリ
4 問題点
4.1 ストレージ
このプロジェクトのフィードは比較的単純なので、類似しています。したがって、MySQL ストレージを使用できますが、フィード ストリームが比較的複雑なデータ構造を持つ場合は、MongoDB や HBase など、ストレージをより便利で効率的にする NoSQL データベースを使用する必要があります。
4.2 プッシュ
プッシュ スキームには、次の 3 つのスキームがあります。
プル モード
読み取り拡散とも呼ばれる、ユーザーは自分のフォロワーのフィード コンテンツを率先して取得します。
つまり、ユーザー (特に多くの人をフォローしているユーザー) が行動をトリガーすると、独自の更新をプルし、ユーザーのフォロー リストを取得し、フォロー リストに基づいて新しいフィードを取得します。ユーザーがフォローしている人が多すぎる場合、ユーザーのウォッチ リストをクエリすると、大量のデータ コストがかかります。
プッシュ モード
は書き込み拡散とも呼ばれます。ユーザーがフィードを追加すると、そのフィードはフォローしているユーザーに自動的に通知されます。 (好ましい)。
つまり、ユーザーが行動 (Weibo への投稿など) をトリガーすると、ユーザー自身の行動が行動テーブルに記録され、ユーザーのファン テーブルにも対応し、ファンごとにフィードが挿入されます。ただし、10,000 を超えるファンを備えた大規模な V の場合、各ファンにフィードを挿入すると、データを保存するのに非常にコストがかかります。
Redis ソート セット (タイムラインを時間で並べ替えるのに便利) を使用して、ファンのフィード コレクションを維持します。ブロガーがフィードを追加すると、コンテンツをファンのフィード コレクションに積極的にプッシュするため、ユーザーはコレクションからすぐに読み取るのは非常に便利です
プッシュとプルの組み合わせ
たとえば、Weibo では、ほとんどのユーザーは数百のアカウント関係を持っていますが、一部のユーザーはhave 1,000 10,000元を超える場合にのみ使用します。
オンライン プッシュ、オフライン プル
大V發動態之後,以常駐進程的方式定時推送到粉絲動態表。
5 表格設計
#推薦(免費): redis教程
#以上がRedis がフィード フローを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。