Configurer Azure Cache pour Redis

Effectué

Vous pouvez créer un cache Redis à l’aide du portail Azure, de l’interface Azure CLI ou d’Azure PowerShell.

Créer et configurer une instance Azure Cache pour Redis

Vous devez déterminer plusieurs paramètres pour configurer le cache correctement en fonction de vos besoins.

Nom

Le cache Redis doit avoir un nom global unique. Le nom doit être unique dans Azure, car il est utilisé pour générer une URL publique permettant la connexion et la communication avec le service.

Le nom doit contenir de 1 à 63 caractères, et être composé de chiffres, de lettres et du caractère « - ». Le nom du cache ne peut ni commencer ni se terminer par le caractère « - », et il n’accepte pas de caractères « - » consécutifs.

Emplacement

Assurez-vous de toujours placer votre instance de cache et votre application dans la même région. La connexion à un cache dans une autre région peut considérablement augmenter la latence et réduire la fiabilité. Si vous vous connectez au cache en dehors d’Azure, sélectionnez un emplacement proche de celui où l’application consommant les données est exécutée.

Type de cache

Le niveau détermine la taille, les performances et les fonctionnalités disponibles pour le cache. Pour plus d’informations, consultez Tarifs d’Azure Cache pour Redis.

Conseil

Microsoft vous recommande d’utiliser toujours le niveau Standard ou un niveau supérieur pour les systèmes de production. Le niveau De base est un système à nœud unique, sans réplication des données ni contrat SLA.

Prise en charge du clustering

Avec les niveaux Premium, Enterprise et Enterprise Flash, vous pouvez implémenter le clustering pour diviser automatiquement votre jeu de données entre plusieurs nœuds. Pour implémenter le clustering, vous spécifiez le nombre de partitions (10 au maximum). Le coût total facturé est le coût du nœud d’origine multiplié par le nombre de partitions.

Accès à l’instance de Redis

Redis possède un outil en ligne de commande permettant d’interagir avec Azure Cache pour Redis en tant que client. Si vous souhaitez utiliser l’outil pour des plateformes Windows, vous pouvez télécharger les outils en ligne de commande Redis pour Windows. Si vous souhaitez exécuter l’outil en ligne de commande sur une autre plateforme, téléchargez le Cache Azure pour Redis à partir de l’adresse https://redis.io/download.

Redis prend en charge un ensemble de commandes connues. Une commande est généralement émise en tant que COMMAND parameter1 parameter2 parameter3.

Voici quelques commandes courantes que vous pouvez utiliser :

Commande Description
ping Interroge le serveur. Retourne « PONG ».
set [key] [value] Définit une clé/valeur dans le cache. Retourne « OK » en cas de réussite.
get [key] Obtient une valeur à partir du cache.
exists [key] Retourne « 1 » si la clé existe dans le cache, « 0 », dans le cas contraire.
type [key] Retourne le type associé à la valeur de la clé donnée.
incr [key] Incrémente de « 1 » la valeur donnée associée à la clé. La valeur doit être un entier ou une valeur double. Cela retourne la nouvelle valeur.
incrby [key] [amount] Incrémente la valeur donnée associée à la clé de la quantité spécifiée. La valeur doit être un entier ou une valeur double. Cela retourne la nouvelle valeur.
del [key] Supprime la valeur associée à la clé.
flushdb Supprime toutes les clés et valeurs dans la base de données.

Voici un exemple de commande :

> set somekey somevalue
OK
> get somekey
"somevalue"
> exists somekey
(string) 1
> del somekey
(string) 1
> exists somekey
(string) 0

Ajout d’un délai d’expiration aux valeurs

La mise en cache est importante car elle nous permet de stocker les valeurs couramment utilisées dans la mémoire. Cependant, nous avons également besoin d’un moyen de faire expirer les valeurs quand elles sont obsolètes. Dans Redis, vous pouvez le faire en appliquant une durée de vie (TTL) à une clé.

Lorsque la durée de vie expire, la clé est automatiquement supprimée, exactement comme si la commande DEL avait été émise. Voici quelques remarques sur les expirations TTL.

  • Les expirations peuvent être définies avec une précision en secondes ou millisecondes.
  • La résolution de temps d’expiration est toujours 1 milliseconde.
  • Les informations relatives à l’expiration sont répliquées et conservées sur le disque. Le temps s’écoule virtuellement quand votre serveur Redis reste arrêté (cela signifie que Redis enregistre la date d’expiration d’une clé).

Voici un exemple d’expiration :

> set counter 100
OK
> expire counter 5
(integer) 1
> get counter
100
... wait ...
> get counter
(nil)

Accès à un cache Redis à partir d’un client

Pour vous connecter à une instance d’Azure Cache pour Redis, vous avez besoin de plusieurs informations. Les clients ont besoin du nom d’hôte, du port et d’une clé d’accès du cache. Vous pouvez obtenir ces informations à partir de la page Paramètres > Clés d’accès du portail Azure.

  • Le nom d’hôte est l’adresse Internet publique de votre cache, qui a été créée en utilisant le nom du cache. Par exemple : sportsresults.redis.cache.windows.net.

  • La clé d’accès joue le rôle de mot de passe pour votre cache. Deux clés sont créées : une clé principale et une clé secondaire. Vous pouvez utiliser l’une ou l’autre, mais deux clés sont fournies au cas où vous devriez modifier la clé primaire. Vous pouvez basculer tous vos clients vers la clé secondaire et régénérer la clé primaire. Cela bloquera toutes les applications utilisant la clé primaire d’origine. Microsoft recommande de régénérer régulièrement les clés, tout comme vous le feriez pour vos mots de passe.

Avertissement

Vos clés d’accès doivent être considérées comme des informations confidentielles ; gérez-les de la même façon que vos mots de passe. Toute personne possédant une clé d’accès peut effectuer n’importe quelle opération sur votre cache !