Стратегия кэширования при использовании API, которые имеют ограничение на количество разрешенных вызовов - PullRequest
0 голосов
/ 05 сентября 2011

Я создаю приложение с использованием Twitter API, которое должно использовать twitter REST API, чтобы часто находить подписчиков пользователя.Но в твиттере есть ограничение 350 запросов API в час.Мое приложение в его текущем состоянии обязательно превысит это.Пожалуйста, скажите мне, какую стратегию кэширования я должен использовать, чтобы уменьшить количество вызовов API, которые я делаю, и, таким образом, без проблем повысить скорость моего приложения и следовать правилам Twitter.

1 Ответ

0 голосов
/ 05 сентября 2011

Абстрагируйте свой доступ к Twitter API и сделайте что-то в этом духе.

If last call to Twitter at least 12 seconds ago
   Make new call to Twitter and store returned info
   Set Timestamp
else
   Return last stored data
endif

Это означает, что только одна часть вашей программы должна знать об ограничении, а все остальные части могут обрабатывать данные как имеющиедавай свежие из твиттера.

В свете вашего комментария приведенный выше псевдокод становится

If last call to Twitter at least 12 seconds ago
   Make new call to Twitter and save follower list in DB
   Set Timestamp
endif

Return follower list from DB

Я был бы склонен иметь такую ​​структуру в одной таблице, по крайней мере, сначала.

twitter_id
.
.
whatever else you want to store about the person
.
.
followers           VARCHAR            space-separated list of follower IDs

Очевидно, это был бы упрощенный подход, но на основе «самой простой вещи, которая работает» было бы хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...