Gestão da cache como administrador

For a layer with server cache activated, Lizmap will keep the cache when the user pan and zoom on the map. To have better performance, Lizmap Web Client can also automatically generate the tile cache on the server.

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, two solutions are possible:

Remover totalmente a cache de um repositório Lizmap

In the administration interface, in the Maps management page, for each repository, the administrator can delete the cache for all layers of all the projects repository by clicking the button Empty cache.

Remover a cache, camada por camada, para cada projeto Lizmap

When the administrator is connected and consults a Lizmap map, a little red cross is displayed on the right of the name of each layer that is configured with server cache. Clicking on the cross allows, after confirmation, to delete the server cache only for this layer in the QGIS project.

Apenas o administrador, quando ligado, consegue visualizar essas cruzes vermelhas, tendo permissão para limpar a cache.

Configuring the caching system

In the Administration -> Lizmap Configuration -> Cache, you can configure the caching system which is used. You can choose between different kind of caching :

  • Files

  • Sqlite

  • Redis (You would need a Redis server)

Gerar mosaicos

É possível pré-gerar os mosaicos para qualquer camada de um projeto QGIS configurado com a opção cache do lado do servidor. É necessário ter acesso total ao servidor em que o Lizmap se encontra instalado e utilizar um programa de terminal para estabelecer ligação ao mesmo. É necessário também conhecer os IDs dos repositórios Lizmap bem como o código do projeto (o nome do ficheiro do projeto QGIS sem a extensão).

In this example, we will show commands to manage the tiles cache for the demo project Montpellier, shipped with Lizmap Web Client. We also assume that your Lizmap application is installed in the folder /var/www/lizmap-web-client/.

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

É importante saber que o Lizmap publica as camadas em cache no WMTS (Web Map Tiled Service). Os seguintes conceitos são utilizados como opções do gerador de cache de mosaicos do Lizmap:

  • TileMatrixSet - In Lizmap, this represents the projection code, for example EPSG:3857 (Pseudo mercator).

  • TileMatrixMin - This is the minimum zoom level.

  • TileMatrixMax - É o nível máximo de zoom.

Aviso

The zoom level is not a map scale, but the the zoom level. In Lizmap plugin, the project publisher can configure scales for the published project, for example the list : 100000, 50000, 25000, 10000. The zoom level ID depends on some CRS and how you configured your Lizmap project. You can have a idea of the scale ID by typing lizMap.map.getZoom() in your webbrowser Javascript console when zooming on your map.

Em primeiro lugar deverão ser verificados os recursos de cache relativos a um projeto bem como alguns detalhes referentes a uma camada específica do mesmo.

# Command help
# php lizmap/scripts/script.php lizmap~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/scripts/script.php lizmap~wmts:capabilities montpellier montpellier

# Get precisions about a specific layer
php lizmap/scripts/script.php lizmap~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

In this example, you see that the bus layer has 3 different TileMatrixSet, corresponding to the 3 different spatial coordinate systems available for this project in Lizmap (configured in the Project properties ‣ QGIS Server).

Nota

If your layer name has some spaces, you need to use «».

É importante verificar os recursos de cache antes de gerar a cache para uma determinada camada. Os recursos de cache serão utilizados no próximo comando. O próximo comando poderá falhar caso os recursos de cache não se encontrem disponíveis.

Só após um bom nível de conhecimento de uma determinada camada, será possível gerar a cache adequada para a mesma:

# Command help
# php lizmap/scripts/script.php lizmap~wmts:seeding [-v] [-f] repository project layer TileMatrixSet TileMatrixMin TileMatrixMax

# Example
php lizmap/scripts/script.php lizmap~wmts:seeding -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

Após a geração de mosaicos, é necessário atualizar os direitos sobre a cache:

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