0

私たちのウェブサイトでは、人々が画像をアップロードして、Twitter で共有したり、Facebook でいいね! をしたりすることができます。特定のページの Twitter での言及と facebook のいいね! の合計数に基づいて、トップ X の画像を含むトレンド ページがあります。

現時点で私が確認できる唯一の方法は、すべての画像に対して (少なくとも) 2 つの API 呼び出しを行って、各ソーシャル Web サイトのカウントを取得し、合計を計算して、最終的に最も「トレンドの多い」順に画像を並べることです。 " 最初。注文する画像が 3000 枚あるとしたら、これを行うには時間がかかる可能性があるため、そうあるべきではないと思います。

私たちが望むものを達成する方法についてはわかりません (それが可能でさえある場合)。そのため、今のところ私が考えることができる唯一の解決策は、独自の「いいね」システムを用意するか、1 時間ごとにカウントを取得して作成することです。一種のキャッシュ (ただし、それでも 1 時間ごとに大量の API 呼び出しが行われることを意味します)。

4

2 に答える 2

2

サーバーのビュー数に基づいて画像をランク付けすることもできます。必要に応じて、最もよく表示された 10% の画像を取得し、メンション/いいね (同様に) に基づいてそれらをランク付けできます。これにより、必要な API 呼び出しが 90% 少なくなりますが、満足のいく結果が得られます (と思います)。

于 2012-05-18T15:22:00.490 に答える
0

いくつかの提案:

  1. 特定の時間枠に制限する (たとえば、過去 1 週間にアップロードされた画像)
  2. データを一定期間キャッシュし、画像ごとに 1 時間ごと (場合によってはそれ以上) にのみ API 呼び出しを行います。
  3. このページに人がいないときでも API 呼び出しを行います。それ以外の場合は、画像がサイトの他の場所に読み込まれているときはいつでも、過去 1 時間に行われていない場合は API 呼び出しを行います。これにより、1 ページの読み込みで要求の量がずれる可能性があります。
  4. 1 ページの読み込みでのリクエストの量を制限します。これは、誰かがページをロードする可能性があることを意味し、100 のリクエストのみを送信し (最も長い間リクエストされていない 100 の画像に対して)、残りの画像は以前の値を使用します (つまり、キャッシュされた値)。これは、サイトのアクティブ度に完全に依存しますが、キャッシュが古くなりすぎないように、それらすべてを毎日/毎週検索する必要がある場合もあります.
于 2012-05-18T15:55:16.137 に答える