Керування кешом від імені адміністратора

Для шару з активованим кеш-пам’яттю сервера Lizmap зберігатиме кеш-пам’ять, коли користувач панорамує та масштабує карту. Для кращої продуктивності Lizmap Web Client також може автоматично генерувати кеш плиток на сервері.

In some cases, it is desirable to remove the server cache, for example, when the style has changed and the tiles need to be updated. For this, some solutions are possible:

Видаліть весь кеш репозиторію Lizmap

В інтерфейсі адміністрування, на сторінці Управління картами для кожного сховища адміністратор може видалити кеш для всіх шарів усіх сховищ проектів, натиснувши кнопку Очистити кеш.

Видаліть кеш, шар за шаром, для кожного проекту Lizmap

Коли адміністратор під’єднано та переглядає карту Lizmap, праворуч від назви кожного шару, який налаштовано на кеш сервера, відображається маленький червоний хрест. Натискання на хрестик дозволяє після підтвердження видалити кеш сервера лише для цього шару в проекті QGIS.

Тільки зареєстрований адміністратор бачить ці червоні хрестики і має право видалити кеш.

Use the console command for a whole project or layer

# Go to the application folder
cd /var/www/lizmap-web-client/

# Command help
# php lizmap/console.php wmts:cache:clean  repository project [layer]

# Clean the cache for a given project
php lizmap/console.php wmts:cache:clean montpellier montpellier

# Clean the cache for a given layer
php lizmap/console.php wmts:cache:clean montpellier montpellier bus

Налаштування системи кешування

В :меню вибору:Адміністрування -> Конфігурація Lizmap -> Кеш ви можете налаштувати систему кешування, яка використовується. Ви можете вибрати між різними видами кешування:

  • Файли

  • Sqlite

  • Redis (Вам знадобиться сервер Redis)

Сітка

Ви можете попередньо згенерувати плитки для будь-яких шарів проекту QGIS, налаштованого з увімкненим кешуванням на стороні сервера. Вам потрібно мати повний доступ до сервера, на якому встановлено Lizmap, і використовувати термінал для підключення до нього. Вам також потрібно знати ідентифікатори репозиторіїв Lizmap та кодове ім’я проекту (ім’я файлу проекту QGIS без розширення).

У цьому прикладі ми покажемо команди для керування кешом плиток для демонстраційного проекту Montpellier, що постачається разом із веб-клієнтом Lizmap. Ми також припускаємо, що ваша програма Lizmap встановлена в папці /var/www/lizmap-web-client/.

# Go to the application folder
cd /var/www/lizmap-web-client/

Важливо знати, що Lizmap публікує кешовані шари в WMTS (Web Map Tiled Service). Наступні концепції використовуються як варіанти сітки кешу Lizmap:

  • TileMatrixSet — у Lizmap це представляє код проекції, наприклад, EPSG:3857 (псевдомеркатор).

  • TileMatrixMin – це мінімальний рівень масштабування.

  • TileMatrixMax – це максимальний рівень масштабування.

Попередження

Рівень масштабування — це не масштаб карти, а рівень масштабування. У плагіні Lizmap видавець проекту може налаштувати масштаби для опублікованого проекту, наприклад, список: 100000, 50000, 25000, 10000. Ідентифікатор рівня масштабування залежить від деяких CRS і від того, як ви налаштували свій проект Lizmap. Ви можете отримати уявлення про ідентифікатор масштабу, ввівши lizMap.map.getZoom() у консолі Javascript веб-браузера під час масштабування карти.

Спочатку ви повинні отримати можливості кешу одного проекту та деякі деталі на певному шарі.

# Command help
# php lizmap/console.php wmts:capabilities [-v] repository project [layer] [TileMatrixSet]

# Get the capabilities for a given project published with Lizmap
# and generate the cache about these capabilities.
php lizmap/console.php wmts:capabilities montpellier montpellier

# Get precisions about a specific layer
php lizmap/console.php wmts:capabilities -v montpellier montpellier bus EPSG:3857
# which will return
For "bus" and "EPSG:4326" from TileMatrix 13 to 15
For "bus" and "EPSG:900913" from TileMatrix 14 to 16
For "bus" and "EPSG:3857" from TileMatrix 14 to 16

У цьому прикладі ви бачите, що базові шари мають 3 різні TileMatrixSet, що відповідають 3 різним просторовим системам координат, доступним для цього проекту в Lizmap (налаштованих у :меню вибору:Властивості проекту –> QGIS Server).

Примітка

Якщо у назві шару є пробіли, потрібно використовувати «».

Важливо створити можливості кешу перед створенням кешу для певного шару. Можливості кешу використовуються в наступній команді. Наступна команда може вийти з ладу, якщо можливості кешу відсутні.

Якщо ви добре знаєте шар, ви можете створити для нього кеш:

# Command help
# php lizmap/console.php wmts:cache:seed [-v] [-f] repository project layer TileMatrixSet TileMatrixMin TileMatrixMax

# Example
php lizmap/console.php wmts:cache:seed -v -f montpellier montpellier bus EPSG:3857 12 14
# Which will return:
81 tiles to generate for "bus" "EPSG:3857" "14"
81 tiles to generate for "bus" "EPSG:3857" between "12" and "14"
Start generation
================
Progression: 6%, 5 tiles generated on 81 tiles
Progression: 12%, 10 tiles generated on 81 tiles
Progression: 18%, 15 tiles generated on 81 tiles
Progression: 24%, 20 tiles generated on 81 tiles
Progression: 30%, 25 tiles generated on 81 tiles
Progression: 37%, 30 tiles generated on 81 tiles
Progression: 43%, 35 tiles generated on 81 tiles
Progression: 49%, 40 tiles generated on 81 tiles
Progression: 55%, 45 tiles generated on 81 tiles
Progression: 61%, 50 tiles generated on 81 tiles
Progression: 67%, 55 tiles generated on 81 tiles
Progression: 74%, 60 tiles generated on 81 tiles
Progression: 80%, 65 tiles generated on 81 tiles
Progression: 86%, 70 tiles generated on 81 tiles
Progression: 92%, 75 tiles generated on 81 tiles
Progression: 98%, 80 tiles generated on 81 tiles
================
End generation

Після заповнення оновіть права на кеш:

lizmap/install/set_rights.sh www-data www-data