Skip to main content

Activer la mise en cache des réponses

La mise en cache des réponses est un mécanisme de mise en cache de serveur backend qui peut améliorer les performances et l’évolutivité des couches d’entités. Les clients qui prennent en charge la mise en cache des réponses peuvent formuler des requêtes d’étendues normalisées de données pour des niveaux de zoom standard. Ces requêtes normalisées étant identiques entre les différents clients qui demandent les mêmes données, les entités peuvent être mises en cache et réutilisées par plusieurs clients.

La mise en cache des réponses permet aux clients de recevoir une réponse plus rapide sans requête de base de données. La mise en cache des réponses est de ce fait particulièrement utile pour les couches qui doivent s’adapter à un très grand nombre de requêtes similaires. La mise en cache des réponses est plus pertinente pour les données rarement modifiées.

La mise en cache des réponses pour une couche peut être configurée par l’un des utilisateurs suivants :

  • Le propriétaire des éléments de couche

  • Un membre d’un groupe de mise à jour partagée avec lequel l’élément de couche est partagé

  • Un membre disposant d’un ensemble de privilèges d’administration pour gérer le contenu appartenant aux membres

Conditions préalables à l’utilisation de la mise en cache des réponses

Les couches dans ArcGIS Enterprise n’utilisent pas la mise en cache des réponses par défaut, et la mise en cache des réponses ne peut pas être utilisée dans toutes les situations. Pour utiliser le workflow de cette rubrique et activer la mise en cache des réponses pour une couche, les conditions préalables suivantes doivent être satisfaites :

  • L’élément de couche doit être de l’un des types suivants prenant en charge la mise en cache des réponses :

    • Couche d’entités

    • Couche d'entités hébergée

    • Couche d'images de carte

    • Vue de couche d'entités hébergée

  • La couche ne peut pas référencer les données versionnées.

  • La couche doit autoriser la mise en cache des réponses.

  • La couche doit utiliser des données d’entités. Les données raster ne peuvent pas être utilisées pour la mise en cache des réponses.

  • Si la couche fait référence à des données inscrites, le jeu de données doit suivre la date/heure de dernière modification. Le cas échéant, exécutez l’outil Enable Last Edit Time (Activer la propriété de date/heure de dernière modification) sur le jeu de données de la couche.

  • Le serveur d’hébergement doit être configuré avec l’object store.

  • Les requêtes sur la couche doivent être formulées par un client qui prend en charge la mise en cache des réponses. Principalement, ces clients seront ArcGIS Pro, des applications Web créées avec ArcGIS Maps SDK for JavaScript telles que Map Viewer, et des applications natives construites avec ArcGIS Maps SDKs.

Configurer la mise en cache des réponses pour une couche

Procédez comme suit pour autoriser la mise en cache des réponses :

  1. Connectez-vous à l’organisation en tant que membre disposant du privilège de mise à jour de l’élément de couche.

  2. Ouvrez la page des éléments de la couche à mettre à jour et cliquez sur l’onglet Settings (Paramètres).

  3. Sous Response caching (Mise en cache des réponses), cliquez sur Manager layers (Gérer les couches).

  4. Utilisez le bouton bascule pour autoriser ou interdire la mise en cache des réponses pour chaque couche, selon vos besoins.

    Le bouton bascule sera désactivé pour les couches qui ne répondent pas aux exigences et un message d’avertissement expliquant pourquoi la couche ne peut pas utiliser la mise en cache des réponses s’affichera.

  5. Cliquez sur OK.

  6. Dans l’onglet Settings (Paramètres), cliquez sur Save (Enregistrer) pour redémarrer le service et appliquer les paramètres de mise en cache des réponses.

Remarque :

Les couches dans un service publié sur un site de serveur fédéré différent du serveur d’hébergement doivent utiliser l’API REST pour activer la mise en cache des réponses.

Invalidation du cache

Dès que la réponse est mise en cache, elle est uniquement utilisée sur toute sa durée de validité. Par défaut, une réponse mise en cache expire au bout d’1 jour. Un administrateur peut utiliser l’API REST pour spécifier une durée d’expiration différente. Pour plus d’informations sur la configuration de la durée d’expiration des couches d’entités hébergées et des vues de couche d’entités hébergée, reportez-vous à la rubrique Mise en cache des réponses pour les couches de service d’entités hébergées dans ArcGIS Enterprise. Pour plus d’informations sur la configuration de la durée d’expiration des couches d’entités et de service de carte qui font référence à des données inscrites, reportez-vous à la rubrique Mettre à jour le service.

Si l’object store utilise un service Cloud pour stocker des données, les réponses mises en cache ayant expiré sont automatiquement supprimées. Si l’object store a été configuré avec ArcGIS Data Store, exécutez régulièrement l’utilitaire maintaindatastore sur l’object store pour supprimer les réponses mises en cache qui ont expiré.

Une réponse mise en cache est également invalidée chaque fois que les données de la couche sont mises à jour, afin d’éviter que les clients ne reçoivent une réponse contenant des données obsolètes. Une réponse mise en cache invalidée par des mises à jour est remplacée par une nouvelle réponse mise en cache lors de l’exécution suivante de la requête.

Remarque :

Pour les couches qui font référence à des données inscrites, l’invalidation correcte du cache dépend du paramètre de géodatabase lastEditTime. Les opérations de modification effectuées en dehors du logiciel ArcGIS, par exemple via des instructions SQL exécutées directement sur la base de données, ne mettent pas à jour lastEditTime. À la suite de ces opérations de modification, l’invalidation du cache risque de ne pas s’exécuter comme prévu.