Как мне кэшировать запросы баз данных на основе местоположения? - PullRequest
0 голосов
/ 12 февраля 2012

Итак, я создаю приложение, которое сохраняет местоположения в базе данных, используя координаты широты и долготы. Пользователи могут получить эти записи, используя либо дату создания («последние»), либо позицию («рядом»). Теперь моя цель - внедрить кэширование для ускорения работы приложения.

Что касается недавнего раздела, я предполагаю, что это довольно просто, просто кэшируйте запрос в течение минуты или около того, но для запросов на основе местоположения это не имеет смысла. В настоящее время я получаю местоположение пользователей с карты и выбираю 25 ближайших местоположений из БД. Поскольку пользователь может свободно перемещать карту (iOS), шанса дважды попасть в одно и то же место не существует, что заставляет меня поверить, что я здесь использую неправильный подход.

Как бы я упорядочил свои данные и запросы, чтобы пользователи могли получать результаты в зависимости от их местоположения, но при этом использовать некоторые возможности кэширования. Это вообще возможно?

1 Ответ

1 голос
/ 12 февраля 2012

Возможно, вам придется разделить карту на какую-то форму системы координат (подумайте над наложением шахматной доски), чтобы набор точек находился в одной и той же области.Это дало бы вам что-то определенное для того, чтобы связать кеш с ключом (или, по крайней мере, с мусорными ведрами, в которых живут кеши).Вы можете иметь второй набор больших квадратов, чтобы найти «близкие» предметы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...