Critères du cache d'entités

Pour les couches d’entités Web, un cache d’entités est utilisé pour améliorer les performances et les tâches courantes en stockant des entités dans un dossier temporaire. Le cache est automatiquement géré et pendant que les entités sont mises en cache, le nombre de requêtes nécessaire pour récupérer les données est réduit et le temps d’affichage est amélioré. Cela peut être utile lorsque vous travaillez avec des jeux de données volumineux ou complexes, dans une étendue de carte spécifique, ou lorsque de nombreux utilisateurs utilisent le même service. Cela réduit également la pression exercée sur le serveur car le nombre de demandes de services est réduit.

Par défaut, le cache d’entités est rempli automatiquement par l’application ; il s’agit du paramètre conseillé. Le cache est rempli chaque fois que la représentation de la carte est terminée et que les cinq critères suivants sont respectés :

  • La couche est visible dans la fenêtre Contents (Contenu).
  • La couche est affichée en fonction de la plage d’échelle visible.
  • Le nombre total d’entités dessinées est inférieur à cinq fois la valeur du seuil de nombre de lignes sur la couche de service.
  • L’option de mise en cache dans la boîte de dialogue des propriétés de la couche est définie sur Clear cache when the session ends (Effacer le cache à la fin de la session).
  • Le nombre estimé d’entités dans l’étendue visible est inférieur à cinq fois la valeur du seuil de nombre de lignes si des filtres sont présents.

Pour empêcher les requêtes de longue durée de surexploiter les ressources de serveur lors de la mise en cache automatique des entités, le remplissage du cache d’entités est soumis à un délai d’expiration de 15 secondes par couche. Lorsque le remplissage du cache d’une couche dure plus de 15 secondes, la demande est annulée, la couche est signalée comme lente et la mise en cache automatique n’essaie pas de remplir à nouveau le cache à l’échelle actuelle ou à une échelle inférieure. À des échelles supérieures à 1/4 de l’échelle lente, une tentative est réalisée pour remplir la couche automatiquement.

Lorsque le cache d’entités n’est pas rempli parce que les cinq critères énoncés ci-dessus ne sont pas respectés ou si un délai d’expiration de 15 secondes a lieu, vous pouvez gérer le cache manuellement pour profiter des performances optimales fournies par le cache.

Attention :

Il n’est pas recommandé de mettre en cache des couches publiées avec des ensembles de définition si vous avez l’intention de les publier dans ArcGIS AllSource. En effet, les ensembles de définitions basés sur des services ne sont pas disponibles pour ArcGIS AllSource. Lorsque vous utilisez ces couches, les entités mises à jour ou créées ne correspondant pas à l’ensemble de définition peuvent encore s’afficher dans ArcGIS AllSource, même si elles ne sont pas visibles dans d’autres applications. Ces entités peuvent disparaître pendant la session et disparaîtront à la prochaine ouverture d’ArcGIS AllSource.

Des détails supplémentaires pour le seuil du nombre de lignes, le nombre de lignes estimé et les groupes de couches de sous-types sont également utilisés pour déterminer si le cache est rempli automatiquement.

Seuil du nombre de lignes

Le seuil du nombre de lignes permet de déterminer à quel moment le cache d'entités est rempli. Le seuil du nombre de lignes est défini sur 2 000 ou sur le paramètre maxRecordCount de la couche de service d’entités, la valeur la plus faible étant retenue.

Nombre de lignes estimé

Si les nombres de lignes estimés sont pris en charge et qu’une couche comporte des filtres, ArcGIS AllSource utilise les nombres de lignes estimés et les cinq critères décrits ci-dessus pour déterminer si le cache d’entités est rempli. Si une couche ne comporte pas de filtre, les nombres de lignes estimés ne sont pas utilisés et ArcGIS AllSource utilise les quatre premiers critères décrits ci-dessus pour déterminer si le cache d’entités est rempli.

Si les nombres de lignes estimés de la couche de service d’entités toute entière sont inférieurs à cinq fois le seuil du nombre de lignes, le cache d’entités est rempli en mode instantané. Une seule demande est émise et le cache d’entités est rempli avec toutes les entités du service. En mode instantané, les requêtes spatiales et non spatiales utilisent le cache d’entités.

Pour les couches de services d’entités qui ne prennent pas en charge les nombres de lignes estimés, le cache d’entités n’est pas rempli si des filtres sont présents sur les couches.

Remarque :

Pour déterminer si le service d’entités prend en charge les nombres de lignes estimés, accédez à la ressource JSON de la couche et recherchez le paramètre infoInEstimates. Si count est visible dans cette matrice, ArcGIS AllSource obtient les nombres de lignes estimés. Si la matrice n’est pas présente ou qu’elle ne contient pas count, ArcGIS AllSource ne reçoit pas les nombres de lignes estimés.

Pour plus d’informations sur ce paramètre, reportez-vous à la rubrique Obtenir des estimations.

Couche de groupe de sous-types

Les groupes de couches de sous-types peuvent ou non être considérés comme des filtres.

Ils le sont si au moins une de leurs sous-couches est visible. Pour ce scénario, les nombres de lignes estimés sont utilisés pour remplir le cache d'entités s'ils sont pris en charge.

Les groupes de couches de sous-types ne sont pas considérés comme des filtres s’ils sont tous visibles. Pour ce scénario, la somme des nombres de lignes de tous les groupes de couches de sous-types visibles est utilisée pour déterminer si le cache d'entités est rempli.

Les groupes de couches de sous-types ne sont pas considérés comme des filtres si aucun d’eux n’est visible. Pour ce scénario, les groupes de couches de sous-types sont considérés comme non visibles et le cache d’entités n’est pas rempli pour ces couches.