2017-03-19 6 views
0

私は、ユーザーとニュースフィードを含むソーシャルアプリケーションを作成中です。ユーザのニュースフィードを時系列順に表示するには、次のうちどれが理にかなっていますか?Instagramスタイルのニュースフィードロジック

  1. データをプロファイリング者は、次のされている各ユーザからのすべての投稿を取得し、年代順
  2. にユーザーが投稿する行くたびにそれらを並べ替え、信者の各 にそのIDと日付を保存する(冗長ようです)
  3. あなたは

答えて

0

一般ソーシャルサイトがグラフデータベースを使用して構築されている知っている可能性があり、より良いソリューションを提供します。私はソーシャルサイトの1つで働いています。以下は、ニュースフィードを表示するテクノロジスタックとロジックです。

  1. のJava、Spring MVCの

  2. ユーザーにテキスト検索のためのUI

  3. ApacheのSolr-ためのエッジ

  4. jQueryの&ブートストラップ、記事に接続頂点を含むOrientDb- A GraphDB

すべてのユーザーがすべての活動を行い
  1. 、我々はDATETIME、などの活動や俳優

  2. のタイプのような活動の メタデータを含む活動の頂点を作成するために使用される:以下はニュースフィードのための論理でした

    私たちはバッチプログラムを実行しました(3分ごとに実行しています)。バッチの責任は、アクティビティからのニュースフィードを生成して、newFeeds_To_Be_Displayedを関連ユーザ(つまり、俳優の接続)に割り当てます。newsFeedsを画面に表示します。

  3. ユーザーがログインするときに、指定したユーザーのnewFeeds_To_Be_Displayedを照会して画面に表示することがありました。

我々は時間のかかるプロセスのthats、私たちはくぼみの悪いユーザーエクスペリエンスで終わるしたいと、非同期newFeeds_To_Be_Displayedを計算することにしました。

+0

現在のコンテンツをすべて表示した後で、さらに多くのコンテンツを読み込む場合、このアプローチはどのように機能しますか?また、どのポストを時系列に表示するかをすばやく判断できる、より効率的なアプローチを探しています。これは多くのデータを取り込むために整理するための良い方法があるかどうかを知りたいとき –

+0

このnewsFeeds_To_BeをArrayListとして表示させると、それは時系列で表示されます。また、UniNewsFeedsをプルするたびにread/unread newsFeedsを別々に表示して、そのリスト内の項目をreadNewsFeedsに移動することもできます。バッチジョブはUnreadnewsFeedsにnewsFeedsを追加します。 – JRR