Кэширование

Кэширование предназначено для ускоренной загрузки запрашиваемых данных на мобильное устройство пользователя. Кэш – это сохранённая на сервере мобильной платформы копия данных, полученных из ресурса источника данных. При запросе данных с мобильного устройства сервер возвращает обновление из сохранённого кэша без обращения к источнику данных. За счёт этого сокращается время обработки запроса.

Совет. Если объем запрашиваемых данных небольшой, то используйте передачу транзакционных данных для обработки ответа при разрыве соединения.

Кэш хранит ответы источника данных с указанием версий, дату сохранения кэша, срок истечения актуальности, информацию для сопоставления запроса с кэшем: для какого ресурса кэш, какие учетные данные использовались при запросе к источнику данных и входные параметры запроса. Кэш ресурса доступен для управления кэшами по параметрам в подразделе «Управление кэшем».

Дельта – разница между двумя версиями данных ресурса, позволяющая мобильному устройству восстановить новую версию ресурса из сохранённой старой версии.

Для каждой таблицы ресурса дельта содержит:

Для получения подробной информации об использовании дельты в запросах обратитесь к разделу «Обозначение версий дельты в запросах».

Помимо номера версии кэш ресурса содержит уникальный идентификатор «ETag», который передаётся вместе с данными или дельтой. При указании в запросе уникального идентификатора сервер мобильной платформы автоматически определяет, какой версии кэша соответствует запрос, рассчитывает и передаёт дельту мобильному устройству между запросом и последней версией кэша на сервере.

Обновление данных при кэшировании

Взаимодействие мобильного устройства, сервера мобильной платформы и источника данных при кэшировании:

Алгоритм обновления данных на мобильном устройстве:

  1. Мобильное устройство посылает запрос на обновление данных.

  2. Сервер мобильной платформы проверяет актуальность кэша по запрашиваемым данным:

  1. Дельта передается мобильному устройству с сервера мобильной платформы.

  2. Мобильное устройство восстанавливает актуальную версию из сохранённых данных и полученной дельты.

Схема использования кэша при работе с одним ресурсом:

Проверка целостности данных

Для кэшируемых ресурсов производится проверка целостности данных:

  1. При получении данных от источника на сервере мобильной платформы рассчитывается хэш-сумма по идентификаторам записей запрашиваемого ресурса.

  2. Хэш-сумма, рассчитанная на сервере мобильной платформы, отправляется на мобильное устройство вместе с актуальной версией кэша или дельтой двух последних версий кэша.

  3. Данные ресурса обновляются на мобильном устройстве, после чего производится расчёт хэш-суммы на мобильном устройстве.

  4. На мобильном устройстве производится сравнение хэш-суммы, полученной с сервера мобильной платформы, с хэш-суммой, рассчитанной на мобильном устройстве:

Настройка параметров кэширования

Для использования кэширования установите флажок «Кэшировать», который доступен после импорта ресурса. При установке флажка будут отображены дополнительные параметры кэширования:

Задайте параметры кэширования:

Примечание. Без указания количества строк скорость записи в кэш будет максимальна, так же как и потребление памяти.

Примечание. Хранение старых версий потребляет память на сервере мобильной платформы.

Примечание. При использовании данного параметра учитывайте следующие особенности:
   ● размер кэша не должен превышать 512МБ;
   ● хранения последней версии кэша приводит к увеличению объёма потребления оперативной памяти.

Примечание. При использовании данного параметра учитывайте следующие особенности:
   ● количество дельт в оперативной памяти должно быть меньше или равно количеству старых версий кэша, указанных в параметре «Сколько старых версий хранить».
   ● хранение указанного количества дельт приводит к увеличению объёма потребления оперативной памяти.

Измените входные параметры ресурса для получения среза данных через запросы и нажмите кнопку «Сохранить». Ресурс будет добавлен в список содержащихся ресурсов источника данных и его входные параметры будут доступны для управления кэшем ресурса.

Запросы к ресурсам источника данных приведены в разделе «Метод работы с табличными ресурсами».

См. также:

Импорт ресурсов источника данных | Параметры ресурса