Задний план
У меня есть приложение iOS, которое извлекает данные с сервера и записывает их в файл с помощью NSFileManager, так что пользователю не нужно извлекать данные с сервера каждый раз, когда они захотят посетить страницу. Данные, которые они получают, могут время от времени меняться, поэтому я хотел бы обновить данные в файлах приложений, когда это произойдет.
Я использую php-страницы для своих внутренних веб-сервисов.
Вопрос
Какова методика проверки, изменились ли данные в моей базе данных, чтобы я знал, что должен обновлять данные в приложении? Единственный способ, которым я могу это сделать, - создать php-страницу, которая проверяет, отличаются ли данные от того, что я сохранил, но этот вид побеждает цель сохранения информации в файлах в приложении. Я хочу свести к минимуму, когда пользователь общается с сервером, потому что в ситуациях, когда у пользователя нет службы, я все равно хочу, чтобы там были достоверные данные, которые они могут видеть в приложении.
Пожалуйста, задавайте вопросы, если вы не полностью понимаете, чего я пытаюсь достичь. Спасибо!
Если вы хотите, чтобы список недавно добавленных ресторанов, например, вы могли бы:
Если вы хотите кэшировать вычисленные данные, например, 10 самых популярных ресторанов, вы можете:
NB: Если вычисление дорогостоящее на стороне сервера, вы можете подумать о более умном способе обнаружения изменений данных.
В этом случае вам необходимо определить свой идентификатор выпуска на сервере и сохранить его в приложении. Например, когда вы делаете некоторые изменения в базе данных или есть обновление со стороны сервера. Просто измените этот идентификатор релиза с сервера.
На стороне IOS вам необходимо проверить этот идентификатор выпуска. Если идентификатор релиза ios меньше идентификатора сервера, обновите свою базу данных в локальном хранилище ios.
PHP
. И сделать для этого отдельный веб-сервис для проверки ID релиза. И вы можете обновлять эту постоянную переменную в любое время из PHP. ИЛИ Если вы не хотите каждый раз менять код, вы также можете добавить его в базу данных и обновить его из своего приложения php
.