Быстрая сбор данных для сравнения цен - PullRequest
0 голосов
/ 12 июля 2011

У меня есть сайт сравнения цен, на котором у некоторых поставщиков нет текущего API для получения информации о ценах.На данный момент я решил это с помощью cURL, и, поскольку он действительно медленный, я сохранил их в базе данных, откуда их выбирает конечный пользователь.

По причинам, которые я хочу разрешить в режиме реального времени и, таким образом, получить цены накоманда конечных пользователей, а также избегать хранения огромной базы данных о ценах.

Какая альтернатива будет быстрее и легче, чем текущее решение cURL?

Кто-нибудь здесь делал что-то подобное и имел опыт вэто?

1 Ответ

0 голосов
/ 12 июля 2011

Время, необходимое для извлечения цены вручную, не изменится, независимо от того, что вы делаете. Это будет HTTP-запрос + анализ ответа, независимо от того, как вы это делаете. Кроме того, кэширование является обязательным, если у вас есть значительный объем пользователей.

Однако вы можете попытаться косвенно атаковать проблему с помощью таких методов, как:

  • Если вы хотите отобразить текущие данные, сделайте вызов AJAX на ваш сервер (который будет отбрасывать и отправлять проанализированные результаты обратно вам для обновления страницы) вместо того, чтобы выполнять перезагрузку страницы. Это позволит вам настроить (и, надеюсь, улучшить) взаимодействие с пользователем во время ожидания.
  • Запустите фоновый процесс, который время от времени очищает ваших поставщиков и кэширует результаты. Если затем пользователь запрашивает эту информацию до истечения срока действия кэшированных данных, вы сможете немедленно удовлетворить запрос.
  • Настройте вышеописанный процесс, чтобы выполнять интеллектуальную очистку (анализируйте чаще в часы, когда количество посетителей достигает пиковых значений, анализируйте поставщиков и / или продукты более или менее часто в зависимости от того, как часто ваши пользователи действительно запрашивают эту информацию и т. Д.).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...