Я хотел бы создать интеллектуальный кэш для своих запросов API прогноза погоды (температуры, ветра и т. Д. Для данной точки).
Я запрашиваю поставщика прогноза, указав координаты нужной точкичтобы получить данные от. Иногда я снова и снова запрашиваю одни и те же точки или некоторые близлежащие точки, и я хотел бы делать меньше запросов поставщику прогноза.
Я думал о том, чтобы разделить земной шар на листы, как это делается на картах (например,. OpenStreetMap / Google Maps).
Когда запрашивается прогноз, я вычисляю x & y плитки по введенным координатам и проверяю, есть ли у меня какие-либо недавние данные прогноза, сохраненные в этой плитке.
Затем:
- Если точки не найдены, я отправлю запрос своему провайдеру прогноза.
- Если точка найдена в запрошенной ячейке, я верну данные этой точки.
После запроса к моему провайдеру API прогноза погоды я сохраню полученные данные в моей InfluxDB с номерами и координатами x & y плитки.
Есть ли лучшийспособ его кешировать?