Utiliser des modules Redis avec Azure Cache pour Redis

Avec Azure Cache pour Redis, vous pouvez utiliser des modules Redis comme bibliothèques pour ajouter d’autres structures de données et fonctionnalités au logiciel Redis principal. Vous ajoutez les modules au moment où vous créez votre cache de niveau Entreprise.

Pour plus d’informations sur la création d’un cache Entreprise, consultez Démarrage rapide : Créer un cache Redis Enterprise.

Les modules ont été introduits dans Redis 4.0 open source. Les modules étendent les cas d’utilisation de Redis en ajoutant des fonctionnalités telles que des fonctionnalités de recherche et des structures de données telles que des filtres Bloom et Cuckoo.

Étendue des modules Redis

Certains modules populaires sont disponibles pour une utilisation dans le niveau Entreprise de Azure Cache pour Redis :

Module De base, Standard et Premium Enterprise Enterprise Flash
RediSearch Non Oui Oui (préversion)
RedisBloom Non Oui Non
RedisTimeSeries Non Oui Non
RedisJSON Non Oui Oui

Notes

Actuellement, vous ne pouvez pas charger manuellement de modules dans Azure Cache pour Redis. La mise à jour manuelle des modules n’est pas possible non plus.

Utilisation des modules avec géoréplication active

Seuls les modules RediSearch et RedisJSON peuvent être utilisés simultanément avec la géoréplication active.

En vous servant de ces modules, vous pouvez mettre en place des recherches sur des groupes de caches synchronisés dans une configuration actif-actif. Vous pouvez aussi rechercher des structures JSON dans votre configuration actif-actif.

Prise en charge de la bibliothèque de client

Les bibliothèques de client Redis standard ont différentes quantités de prise en charge pour chaque module. Certains modules ont des bibliothèques spécifiques qui ajoutent la prise en charge du client. Consultez les pages de documentation Redis pour chaque module pour en savoir plus sur les bibliothèques de client qui les prennent en charge.

Ajout de modules à votre cache

Vous devez ajouter des modules lorsque vous créez votre cache de niveau Entreprise. Pour ajouter un ou des modules lors de la création d’un nouveau cache, utilisez les paramètres de l’onglet Avancé des caches de niveau Entreprise.

Vous pouvez ajouter tous les modules disponibles ou sélectionner uniquement des modules spécifiques à installer.

Capture d’écran de l’onglet avancé montrant une liste de modules à ajouter à un nouveau cache.

Important

Les modules doivent être activés au moment où vous créez une instance Azure Cache pour Redis.

Pour plus d’informations, consultez Démarrage rapide : Créer un cache Redis Enterprise.

Modules

Les modules suivants sont disponibles lors de la création d’un cache Entreprise.

RediSearch

Le module RediSearch ajoute un moteur de recherche en temps réel à votre cache combinant des performances à faible latence avec de puissantes fonctionnalités de recherche.

Voici quelques fonctionnalités :

  • Requêtes multi-champs
  • Agrégation
  • Recherches basées sur le préfixe, l’approximation et la phonétique
  • Suggestions d’autocomplétion
  • Géofiltrage
  • Requêtes booléennes

En outre, RediSearch peut fonctionner en tant qu’index secondaire, en développant votre cache au-delà d’une structure clé-valeur et en offrant des requêtes plus sophistiquées.

RediSearch inclut également des fonctionnalités permettant d’effectuer des requêtes de similarité vectorielle telles que la recherche K-plus proche voisin (KNN). Cette fonctionnalité permet d’utiliser Azure Cache pour Redis comme base de données vectorielle, ce qui est utile dans les cas d’utilisation de l’IA comme les moteurs de réponse sémantiques ou toute autre application qui nécessite la comparaison des vecteurs d’incorporation générés par des modèles Machine Learning.

Vous pouvez utiliser RediSearch dans un large éventail de cas d’utilisation, notamment l’inventaire en temps réel, la recherche d’entreprise et dans l’indexation de bases de données externes. Pour plus d'informations, consultez la page de documentation RediSearch.

Important

Le module RediSearch nécessite l’utilisation de la stratégie de clustering Enterprise et de la stratégie d’éviction NoEviction. Pour plus d’informations, consultez Stratégie de clustering et Stratégies de mémoire

RedisBloom

RedisBloom ajoute quatre structures de données probabilistiques à un serveur Redis : filtre Bloom, filtre Cuckoo, esquisse Nombre-Min et top-k. Chacune de ces structures de données offre un moyen de sacrifier la précision parfaite en retour d’une vitesse plus élevée et d’une meilleure efficacité de la mémoire.

Structure de données Description Exemple d’application
Filtres Bloom et Cuckoo Indique si un élément n’est (a) définitivement pas dans un ensemble ou (b) potentiellement dans un ensemble. Vérification si un e-mail a déjà été envoyé à un utilisateur
Esquisse Nombre-Min Détermine la fréquence des événements dans un flux Décompte du nombre de fois où un appareil IoT a signalé une température inférieure à 0 degré Celsius.
Top-k Recherche les k éléments les plus fréquemment vus Déterminer les mots les plus fréquemment utilisés dans le livre Guerre et Paix, (par exemple, le paramètre k = 50 renvoie les 50 mots les plus utilisés dans le livre)

Les filtres Bloom et Cuckoo sont similaires l’un à l’autre, mais chacun a un ensemble unique d’avantages et d’inconvénients qui dépassent la portée de cette documentation.

Pour plus d’informations, consultez RedisBloom.

RedisTimeSeries

Le module RedisTimeSeries ajoute des fonctionnalités de série chronologique à haut débit à votre cache. Cette structure de données est optimisée pour les volumes élevés de données entrantes et contient des fonctionnalités permettant d’utiliser des données de série chronologique, notamment :

  • Requêtes agrégées (par exemple, moyenne, maximum, écart type, etc.)
  • Requêtes basées sur le temps (par exemple, heure de début et heure de fin)
  • Sous-échantillonnage/décimation
  • Étiquetage des données pour l’indexation secondaire
  • Période de rétention configurable

Ce module est utile pour de nombreuses applications qui impliquent la surveillance de la diffusion en continu de données, telles que la télémétrie IoT, la surveillance des applications et la détection d’anomalies.

Pour plus d’informations, consultez RedisTimeSeries.

RedisJSON

Le module RedisJSON ajoute la possibilité de stocker, interroger et rechercher des données au format JSON. Cette fonctionnalité est utile pour stocker des données de type document dans votre cache.

Voici quelques fonctionnalités :

  • Prise en charge complète de la norme JSON
  • Large éventail d’opérations pour tous les types de données JSON, notamment les objets, les nombres, les tableaux et les chaînes
  • Syntaxe dédiée et accès rapide pour sélectionner et mettre à jour des éléments dans des documents

Le module RedisJSON est également conçu pour être utilisé avec le module RediSearch pour fournir l’indexation intégrée et l’interrogation de données au sein d’un serveur Redis. L’utilisation des deux modules ensemble peut être un outil puissant pour récupérer rapidement des points de données spécifiques au sein d’objets JSON.

Certains cas d’usage courants pour RedisJSON incluent des applications telles que la recherche de catalogues de produits, la gestion des profils utilisateur et la mise en cache de données structurées JSON.

Pour plus d’informations, consultez RedisJSON.

Remarque

La commande FT.CONFIG n’est pas prise en charge pour mettre à jour les paramètres de configuration du module. Toutefois, pour y parvenir, vous pouvez passer des arguments configurant les modules lors de l’utilisation d’API de gestion. Vous pouvez voir des exemples de configuration des propriétés ERROR_RATE et INITIAL_SIZE du module RedisBloom à l’aide du paramètre args avec l’API REST, Azure CLI ou PowerShell.