Какие существуют стратегии кэширование запросов к Google Map?

Есть сервер, использующий google map и генерирующий достаточно большое количество запросов к Google Maps (routs и geocoding). Хотелось бы снизить данное число за счет проксирования запросов к серверу. Как лучше делать проксирование такие запросов? В какой виде хранить? Выглидит на первый взляд достаточно просто, но может кто-то уже попадал на подводные камни в ходе разработки? Посоветуйте best practice.

Спасибо!
  • Вопрос задан
  • 3873 просмотра
Пригласить эксперта
Ответы на вопрос 2
SkyCat
@SkyCat
Кэшируйте ответы геокодера в базе данных на сутки, скажем. Мы почти все ответы с Яндекс.карт кэшируем.
Ответ написан
Комментировать
С прямым геокодированием просто: есть аддресс, есть результать в виде координат — это можно хранить в кешах ооочень долго, возможно даже в базе.
С обратным сложновато, тк все таки координаты могут немного отличаться, но если координаты в основном не меняются, то также можно эффективно кешировать. Если же координаты немного отличаются, то можно округлять, например до 10 метров ±, результат не должен сильно постарадать (можно протестировать).
С роутами ситуация похожая, те для аддресов как с прямым геокодированием, для координат как с обратным геокодированием.
Для кеша подойдет любое key-value хранилище, в часности memcached и ему подобные, зависит от обемов данных и места для кеша. Хранить как запрос-ответ, в принципе на любом уровне обработки главное чтобы можно было создать уникальный ключ (хеш) и дессериализовать полученный объект. Время хранения на вкус, вряд ли эти данные будут часто меняться, а если и будут, то врядли значительно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы