Share via


Régions et identification à l'aide de balises pour service de cache géré Azure

Important

Microsoft recommande tous les nouveaux développements d’utiliser le Cache Redis Azure. Pour obtenir de la documentation et des conseils actuels sur le choix d’une offre Azure Cache, consultez Quelle offre Azure Cache est adaptée à moi ?

Microsoft Azure Cache prend en charge la création et l’utilisation de régions définies par l’utilisateur. Une région est un sous-groupe d'éléments mis en cache. Les régions prennent également en charge l'annotation des éléments mis en cache à l'aide de chaînes descriptives supplémentaires appelées balises. Les régions offrent la possibilité d’effectuer des opérations de recherche sur n’importe quel élément balisé de la région concernée.

Éléments à prendre en compte au sujet des régions

Les régions sont facultatives ; si vous souhaitez les utiliser, créez-les explicitement dans du code avec la méthode CreateRegion . Une fois la région créée, vous pouvez ajouter des balises aux objets insérés dans celle-ci. Il existe des surcharges sur les méthodes Add and Put qui acceptent un nom de région. Pour rechercher dans une région des objets avec une balise donnée, utilisez les méthodes GetObjectsByTag, GetObjectsByAnyTag et GetObjectsByAllTags.

Dans Service de cache géré, la mémoire du cache est distribuée dans différentes zones du service. En raison des exigences en matière d'architecture de la fonctionnalité de recherche, les objets d'une région sont situés dans une seule zone de la mémoire du service de cache. Si la haute disponibilité est activée, une sauvegarde de la région existe dans une zone différente de la mémoire du service de cache. Ce comportement est différent dans un scénario dans lequel les régions ne sont pas utilisées. Dans ce scénario, les nouveaux éléments dans le cache sont distribués entre toutes les zones de mémoire du service de cache.

Avertissement

Dans la mesure où tous les éléments d'une région doivent être situés dans la même zone de mémoire du service de cache, il est possible que des éléments soient évincés du cache, même si la mémoire restante semble être suffisante. Utilisez potentiellement plusieurs petites régions pour bénéficier des avantages des régions et du balisage.

Exemples

L'exemple suivant montre comment créer une région nommée Test.

DataCache cache = new DataCache("default");
cache.CreateRegion("Test");

L'exemple suivant montre comment ajouter trois objets à la région Test avec des balises.

List<DataCacheTag> tagList1 = new List<DataCacheTag>()
{ 
    new DataCacheTag("Tag1"),
    new DataCacheTag("Tag2")
};
List<DataCacheTag> tagList2 = new List<DataCacheTag>()
{
    new DataCacheTag("Tag3")
};
cache.Put("Key1", "Value1", tagList1, "Test");
cache.Put("Key2", "Value2", tagList1, "Test");
cache.Put("Key3", "Value3", tagList2, "Test");

L'exemple suivant montre comment rechercher dans la région Test tous les objets incluant la balise Tag1.

foreach (KeyValuePair<string, object> result in 
    cache.GetObjectsByTag(new DataCacheTag("Tag1"), "Test"))
{
    string keyValue = result.Key;
    string objectValue = result.Value.ToString();
}

Voir aussi

Autres ressources

Fonctionnalités du service de cache géré Azure