我正在处理一个简单的Facebook应用程序,我正在存储:
Facebook好友ID
表格结构:
表名:facebook_mapping 值:
app_id fb_id
1 100003996070108
2 100003960002436
3 100003955972927
4 100003955972924
使用fql查询:
SELECT uid2 FROM friend WHERE uid1=FACEBOOK_USER_ID
这适用于200以下的朋友。但如果用户有超过200个朋友,当我第一次运行应用程序页面时,它总是超时。我认为它需要超过30秒,我的服务器有一个限制,它将在30秒后超时。
我正在使用PHP& MySQL的。我认为一个解决方案是:
1)首先只吸引该用户的20位朋友并将其添加到数据库中 2)运行后台进程以收集其他朋友
请帮我设置一个后台流程以收集朋友或其他方法来执行此操作。
感谢。
答案 0 :(得分:3)
如果您的 PHP脚本在插入数据时超时(而不是API请求本身) - 那么您是如何将数据添加到表中的?< / p>
你是在PHP循环中的数据库中发出200多个单独的INSERT语句吗?
如果是这种情况,请尝试将所有数据(或更大的数据块)放入多行INSERT语句中,格式为
INSERT INTO table (column1, column2)
VALUES (1, '100003996070108'), (2, '100003960002436'), (…)
这应该有助于防止PHP脚本超时,因为您不必对数据库进行如此多的单独查询。
答案 1 :(得分:2)
这似乎不是Facebook API的问题,只是您在我们的服务器上配置的超时。后台主题思路很好。