确定我网站中当前用户朋友共享的网址

时间:2011-11-23 21:07:53

标签: php facebook facebook-graph-api facebook-fql

我有一个PHP文章网站,允许使用Facebook登录,我需要显示“朋友分享的文章”列表。每篇文章都像mysite.com/articles/1这样的链接共享。

我见过this问题,但由于链接表中的url字段未编入索引,我无法使用“WHERE url LIKE'%mysite.com%'”因此检索到的链接列表太大了,无法通过PHP循环过滤(100个用户共享100个,每个页面加载时会显示10000个网址)。

我目前正在使用此FQL查询:“SELECT url FROM link WHERE owner IN(SELECT uid1 FROM friend WHERE uid2 = me())LIMIT 1000;”如果过滤器后没有足够的记录,则递归执行它。此外,由于某些原因,此查询所花费的时间比其他查询要长得多。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以考虑离线(例如使用cronjob)定期从Facebook获取结果,
并在本地存储结果(如mysql)

在本地获得结果后

  • 您不必等待FQL
  • 你可以准备自己的缓存变暖方式(suc has memcache)
  • 您可以相应地对结果进行分组(例如按类别,标签等)
  • 你不必实时计算,每件事都可以从缓存中获取