Определите URL-адреса с моего сайта, которые будут доступны друзьям текущего пользователя - PullRequest
0 голосов
/ 24 ноября 2011

У меня есть сайт со статьями PHP, который позволяет входить через Facebook, и мне нужно показать список «статей, которыми поделились ваши друзья». Каждая статья публикуется в виде ссылки, такой как mysite.com/articles/1.

Я видел этот вопрос, но так как поле url в таблице ссылок не проиндексировано, я не могу использовать "WHERE url LIKE"% mysite.com% "" и, следовательно, полученный список ссылок будет слишком большим, чтобы их можно было отфильтровать через цикл PHP (100 пользователей, каждый из которых имеет по 100, покажет 10000 URL для фильтрации при каждой загрузке страницы).

В настоящее время я использую этот FQL-запрос: "ВЫБЕРИТЕ URL-адрес ОТ ссылки, ГДЕ владелец В (ВЫБЕРИТЕ uid1 ОТ друга, ГДЕ uid2 = me ()) LIMIT 1000;" и рекурсивно выполнить его, если после фильтра остается недостаточно записей. Кроме того, по некоторым причинам этот запрос занимает гораздо больше времени, чем другие.

Есть идеи?

1 Ответ

0 голосов
/ 24 ноября 2011

Вы можете использовать автономный режим (например, использование cronjob) для периодического извлечения результатов из Facebook,
и локального сохранения результатов (например, mysql)

, если вы получили результат локально,

  • вам не нужно ждать FQL
  • вы можете подготовить свой собственный способ подогрева кэша (suc имеет memcache)
  • вы можете сгруппировать результат соответствующим образом (например, покатегория, тег ... и т. д.)
  • вам не нужно рассчитывать в режиме реального времени, все можно получить из кеша
...