рассмотрим следующую ситуацию.
Я использую следующую общедоступную конечную точку для получения данных: https://public-crest.eveonline.com/market/prices/
Детали под type
хранятся в базе данных, они извлекаются один раз в день в час ночи с помощью задачи laravel.
Отлично, что запчасти готовы. Теперь предположим, что пользователь хочет узнать больше о:
«Средний вспомогательный усилитель щита»
Они будут щелкать ссылку, которая делает вызов API к href
и извлекает эти данные. Я бы сделал так: если данные существуют в базе данных, используйте их, иначе сделайте вызов и сохраните их в базе данных.
это тоже легко.
Трудная часть говорит: сделайте вызов, если в базе данных нет этих сведений ИЛИ прошел один день с момента запуска задачи. Теперь таблица, в которой хранится информация, имеет временные метки created_at
и updated_at
, поэтому я бы сказал:
Когда пользователь нажимает на ссылку, чтобы просмотреть более подробную информацию, проверьте, есть ли A) сведения об элементе в базе данных, хорошо, теперь проверьте B) если прошло 24 часа с момента последней выборки данных, сделайте это, сравнив обновленные до 24 часов назад.
Это правильный способ сделать это?