2010-02-09 2 views
1

Я работаю над проектом моего бакалавра, и я пытаюсь выяснить простую дилемму.Zend_Cache vs cronjob

Это сайт футбольного клуба. Существует некоторая информация, которая будет получена с веб-сайта национальной футбольной ассоциации (в основном таблица лиг и история матчей). Я пытаюсь решить, как наилучшим образом сохранить эти извлеченные данные. Я думаю о двух возможностях:

1) Я создам задание cron, которое будет работать, скажем, каждый час. Он вызовет скрипт, который будет извлекать таблицу лиги и все другие данные с веб-сайта и хранить их в плоском файле.

2) Я буду использовать объект Zend_Cache, чтобы сделать то же самое, за исключением того, что данные будут храниться в кешированных файлах. Кэш будет обновляться каждый час.

Каков наилучший подход?

ответ

2

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

Если это только для уважения к другому серверу, а выборка/обработка страницы занимает немного времени примечание время для конечного пользователя, я бы просто реализовал Zend_Cache. Это просто, вам не нужно беспокоиться о том, что один сценарий загружает страницу, затем другой скрипт загружает загруженные данные (плюс задание cron).

Если кеш необходим, так как выборка/обработка страницы имеет значение, я все равно буду использовать Zend_Cache; однако я бы установил, чтобы кеш истекал каждые 2 часа и настраивал задание cron (или что-то подобное) для ручного обновления кеша каждый час. Несомненно, это добавляет сложность двух сценариев (или, по крайней мере, добавляет флаг запроса для ручного обновления кеша), но при неудачном выполнении задания cron вы все равно в порядке.

+0

Это потому, что я хочу уменьшить нагрузку на внешний сервер. –

+0

Там вы идете, просто используйте Zend_Cache. –

1

Хорошо, если вы выберете 1, это несколько усложняет работу, потому что вы также должны использовать cron (не слишком сложный cron), а затем вы должны проверить, что файл данных завершен, прежде чем использовать его или отказаться от перемещения файлов из временное местоположение после того, как они были загружены и проанализированы в соответствующем формате.

Если вы используете два, это исключает большую часть 1, кроме случаев, когда запрос на кеш мертв, вам придется ждать загрузки/разбора.

Я бы сказал, что 1 - лучший вариант, но 2 будет проще реализовать и менее подвержен ошибкам. Это сказало, что его довольно тривиально реализовать вещи в сценарии cron, чтобы предотвратить негативы, которые я описываю. Поэтому я, вероятно, поеду с 1.

Смежные вопросы