У меня много POI (сравните протокол MKAnnotation) в бэкэнде на веб-сервере.Я не хочу иметь полный дамп всех этих данных в базе данных iPhone, поскольку обычно вам нужны только POI вокруг вашего региона.Таким образом, моя идея была веб-сервисом, который получает фактический показанный регион в качестве параметров и возвращает все соответствующие POI.Все идет нормально.НО тоже дерьмо полностью.Использование пальца, чтобы провести пальцем влево-вправо-влево-вправо, приведет к миллиону веб-запросов.Использование двухсекундной задержки (выполнение запроса через 2 секунды) приведет к плохой производительности (кто хочет ждать так долго?).Итак, «кеширование» - это слово дня.Есть ли кто-нибудь сейчас, если уже есть лучшая практика или даже шаблон для этого случая?В противном случае вот две мои идеи: 1. разделить карту мира на плитки (возможно, 1 км²).Можно идентифицировать эти плитки по идентификатору.Таким образом, было бы возможно сохранить в локальной базе данных, если эта плитка уже загружена (поэтому POI будут в локальной базе данных POI) или нет.Примерно через неделю запись для этой плитки будет автоматически удалена, чтобы обновить кэш.2. Все POI кэшируются.Если отображается новый регион, через две секунды в веб-службу отправляется запрос
Что вы думаете об этом?Существует ли структура данных, позволяющая легко сохранять области, которые не являются квадратами (а представляют собой наборы квадратов)?Я хотел бы услышать идеи к этой теме, Дарт