2012-05-18 3 views
0

우리 웹 사이트에서는 사람들이 이미지를 업로드 한 다음 트위터에서 공유하거나 페이스 북에서 좋아할 수 있습니다. 특정 페이지의 twitter 언급 및 facebook 좋아요의 총계에 근거를 두는 최고 X 심상을 가진 인기있는 페이지가있다.트위터 멘션 및 페이스 북 좋아하는 것을 기반으로 한 트렌드

내가 볼 수있는 유일한 방법은 각 소셜 웹 사이트의 개수를 얻기 위해 모든 단일 이미지에 2 API 호출 (적어도)을 작성한 다음 최종적으로 이미지를 정렬하는 것입니다. 가장 "트렌드"한 것. 3000 개의 이미지를 주문하면 가능한 일이 될 수있는 방법이라고 생각하지 않습니다.

나는 우리가 원하는 것을 성취 할 수있는 방법에 대해서는 전혀 모른다. (심지어 가능하다면) 내가 생각할 수있는 유일한 해결책은 우리 자신의 "같은"시스템을 갖거나 카운트를 얻는 것이다. 매시간 캐시를 만들지 만 (그렇다고 매 시간마다 많은 API 호출이 필요함)

답변

2

아마도 서버의보기 수를 기반으로 이미지의 순위를 매길 수 있습니다. 당신이 원한다면 10 % 최고의 이미지를 볼 수 있으며 멘션/좋아하는 것을 기반으로하는 이미지의 순위를 매길 수 있습니다. API 호출이 90 % 줄어들지 만 만족스러운 결과를 얻을 수 있습니다 (필자 생각).

+0

정말로 좋은 아이디어입니다. 조회수를 사용하려고했지만 API 호출은 사용하지 않는 것이 좋습니다. 나는 아직도 다른 제안을 기다리고있다. 건배. – Nicolas

0

몇 가지 제안 : 특정 기간에

  1. 제한을 (예를 들어, 이미지가 지난 주에 업로드)
  2. 캐시 시간의 길이에 대한 데이터 만 이미지 매 시간마다 API 호출을 또는 어쩌면 더 오래 걸릴 수도 있습니다.
  3. 사람들이이 페이지에 있지 않거나 이미지가 사이트의 다른 위치에로드 된 경우에도 API가 호출합니다. API 호출이 수행되지 않은 경우 API 호출을 수행합니다. 지난 1 시간. 이렇게하면 한 페이지로드시 요청 량이 비틀어집니다.
  4. 한 페이지로드에서 요청의 양을 제한하십시오. 즉, 누군가가 페이지를로드 할 수 있으며 100 개의 요청을 보낸다는 것입니다 (가장 긴 시간에 요청되지 않은 100 개의 이미지). 나머지 이미지는 이전에 있었던 값을 사용합니다 (예 : 캐싱 값). 이 방법은 사이트가 얼마나 활발한 지에 달려 있지만 캐쉬가 지나치게 오래된 것은 아닌지 확인하기 위해 일일/주간의 모든 검색을 수행해야 할 수도 있습니다.
+0

귀하의 의견을 보내 주셔서 감사 드리며 귀하가 여기서 제안한 내용 중 대부분을 생각해 보았습니다. 그러나 웹 사이트는 "크고"이러한 모든 (스마트 한) 캐시 최적화로도 여전히 '24 * 3000 = 72000' (하루에 300 개 이미지를 유지하는 경우). 페이스 북과 트위터가 단일 웹 사이트에서 그렇게 많은 전화를 할 수 있는지는 확실하지 않습니다. 나는 우리가 전망을 세울 것이라고 생각한다. – Nicolas

관련 문제