VENTES: 1-800-867-1389

Expiration et éviction pour le service de cache géré Azure

Mis à jour: mai 2015

noteRemarque
Pour obtenir des conseils sur le choix de l'offre Azure Cache appropriée pour votre application, consultez Choix de l'offre Azure Cache appropriée.

cache Microsoft Azure ne conserve pas les objets mis en cache dans la mémoire de façon permanente. Outre leur suppression explicite du cache à l'aide de la méthode Remove, les objets mis en cache peuvent également expirer ou être exclus par le cache.

L'expiration du cache permet au cache de supprimer automatiquement des objets mis en cache. Lors de l'utilisation de la méthode Put ou Add, une valeur facultative de délai d'expiration de l'objet peut être définie pour un objet mis en cache spécifique, qui va déterminer sa durée de conservation dans le cache. Si la valeur du délai d'expiration de l'objet n'est pas fournie au moment de la mise en cache de celui-ci, l'objet mis en cache utilise le délai d'expiration par défaut. La durée par défaut pour service caché managé est 10 minutes.

La Stratégie d'expiration fonctionne en association avec le paramètre Temps (min) pour déterminer le moment où les éléments mis en cache expirent. Ces comportements sont sont configurés au niveau du cache nommé dans le portail de gestion sous l'onglet Configuration de Cache.

Stratégie d'expiration du service de mise en cache Microsoft Azure

Il existe trois types de stratégies d'expiration : Absolu, Décalé et Jamais.

 

Stratégie d'expiration Description

Jamais

L'expiration est désactivée. Les éléments restent dans le cache jusqu'à leur éviction. Lorsque Jamais est spécifié, Temps (min) doit être défini sur 0.

Absolu

L'intervalle d'expiration spécifié par Temps (min) commence lors de l'ajout d'un élément au cache. Lorsque l'intervalle spécifié par Temps (min) s'est écoulé, l'élément expire.

Glissante

L'intervalle d'expiration spécifié par Temps (min) est réinitialisé lors de chaque accès à un élément dans le cache. L'élément n'expire pas tant que l'intervalle spécifié par Temps (min) ne s'est pas écoulé, après le dernier accès à l'élément. Ainsi, les éléments fréquemment utilisés restent dans le cache plus longtemps.

Le type Absolu est la stratégie d'expiration par défaut et dix minutes est la valeur par défaut de Temps (min). La stratégie d'expiration est déterminée pour chaque élément dans un cache nommé, mais le paramètre Temps (min) peut être personnalisé pour chaque élément à l'aide des surcharges Add et Put qui prennent un paramètre timeout.

noteRemarque
Il est important de noter le comportement de l'expiration Glissante lorsqu'elle est utilisée avec le cache local. Si un élément est lu dans le cache local, il n'y a pas d'accès à l'objet sur le cache. Il est donc possible que l'élément expire sur le serveur même s'il est lu en local.

Lorsque les objets mis en cache sont verrouillés à des fins d'accès concurrentiel, ils ne sont pas supprimés du cache même s'ils ont dépassé leur délai d'expiration. En cas de dépassement de ce délai, dès leur déverrouillage, les objets sont immédiatement supprimés du cache.

Pour éviter cette suppression instantanée lors du déverrouillage des objets expirés, la méthode Unlock prend également en charge l'extension du délai d'expiration de l'objet mis en cache.

Vous pouvez suivre l'intégrité et les performances de votre cache sous l'onglet Surveiller de Cache dans le portail de gestion, y compris les mesures relatives à l'éviction et l'expiration. Pour plus d'informations, consultez Monitoring the cache service using the Monitor tab.

Il existe deux types complémentaires d'invalidation pour le cache local : invalidation basée sur un délai d'expiration et invalidation basée sur une notification.

TipConseil
Une fois les objets stockés dans le cache local, votre application peut les utiliser jusqu'à leur invalidation, qu'ils soient ou non mis à jour par un autre client. Pour cette raison, il est recommandé d'activer le cache local pour les données qui sont rarement modifiées.

Une fois les objets téléchargés vers le cache local, ils y restent jusqu'à atteindre la valeur de délai d'expiration spécifiée dans les paramètres de configuration du client de cache. Une fois que les objets ont atteint la valeur de délai d'expiration, ils sont invalidés de sorte que chaque objet peut être actualisé à partir du cache la prochaine fois qu'il est demandé.

Si le cache local de votre client de cache est activé, vous pouvez également utiliser les notifications de cache pour invalider automatiquement les objets mis en cache localement. En réduisant la durée de vie de ces objets selon vos besoins, vous pouvez réduire les risques que votre application utilise des données obsolètes.

noteRemarque
Les notifications sont disponibles dans les offres de cache Standard et Premium, mais pas dans l'offre Basic. Pour plus d'informations, consultez Offres de cache pour service de cache géré Azure.

Lorsque vous utilisez les notifications de cache, votre application interroge régulièrement le cache pour vérifier si de nouvelles notifications sont disponibles. Par défaut, cette fréquence d'interrogation est de 300 secondes. Elle est spécifiée en unités de secondes dans les paramètres de configuration de l'application. Remarquez que même avec une invalidation basée sur une notification, les délais d'expiration s'appliquent aux éléments du cache local. L'invalidation basée sur une notification est donc complémentaire de l'invalidation basée sur un délai d'expiration.

Pour plus d'informations et accéder à des exemples, consultez Cache local pour service de cache géré Azure.

Pour conserver la capacité de mémoire disponible pour un cache, l'éviction LRU (least-recently-used) est prise en charge. Lorsque la consommation de mémoire approche la taille de votre offre de cache, les objets sont exclus de la mémoire, qu'ils aient expiré ou non, jusqu'à ce que la pression exercée sur la mémoire diminue.

WarningAvertissement
Si vous désactivez l'éviction, vous courrez le risque de limiter la bande passante. Dans ce cas, la mémoire a dépassé la limite, mais il n'y a aucun moyen de pallier au manque de mémoire. Les clients qui tentent d'ajouter des éléments au cache dans cet état reçoivent une exception jusqu'à ce que le problème soit résolu.

Vous pouvez suivre l'intégrité et les performances de votre cache sous l'onglet Surveiller de Cache dans le portail de gestion, y compris les mesures relatives à l'éviction et l'expiration. Pour plus d'informations, consultez Monitoring the cache service using the Monitor tab.

Il existe deux paramètres pour l'éviction : Activée et Désactivée. L'éviction est configurée au niveau du cache nommé dans le portail de gestion sous l'onglet Configurer de Cache, et le paramètre par défaut est Activée.

Stratégie d'éviction du service de mise en cache Microsoft Azure

Les méthodes suivantes permettent de remplacer les paramètres par défaut du cache :

  • Les méthodes Add et Put fournissent des surcharges qui permettent de spécifier une valeur de délai d'expiration uniquement pour l'objet ajouté au cache.

  • Les méthodes PutAndUnlock et Unlock fournissent des surcharges qui permettent de prolonger le délai d'expiration d'un objet après son déverrouillage.

  • La méthode ResetObjectTimeout permet de prolonger explicitement la durée de vie d'un objet, en remplaçant les paramètres d'expiration du cache.

noteRemarque
Indépendamment des paramètres d'expiration ou d'éviction, les données du cache ne sont pas préservées en cas d'arrêt inattendu ou de défaillance du service de cache. Si les données sont introuvables dans le cache, le code de votre application doit recharger celui-ci à partir d'une source de données. Cette opération est généralement appelée « mode de programmation de type cache-aside ».

Voir aussi

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.
Afficher:
© 2015 Microsoft