Uso de módulos de Redis con Azure Cache for Redis
Con Azure Cache for Redis, puede usar módulos de Redis como bibliotecas para agregar más estructuras de datos y funcionalidad al software principal de Redis. Agregue los módulos en el momento en que va a crear la caché de nivel Enterprise.
Para más información sobre cómo crear una caché de nivel Entreprise consulte Inicio rápido: creación de una caché de Redis Enterprise.
Los módulos se presentaron en Redis 4.0 de código abierto. Los módulos amplían los casos de uso de Redis agregando funcionalidades como funcionalidades de búsqueda y estructuras de datos como filtros bloom y cuckoo.
Ámbito de los módulos de Redis
Algunos módulos populares están disponibles para su uso en el nivel Enterprise de Azure Cache for Redis:
Módulo | Básico, Estándar y Premium | Enterprise | Enterprise Flash |
---|---|---|---|
RediSearch | No | Sí | Sí (versión preliminar) |
RedisBloom | No | Sí | No |
RedisTimeSeries | No | Sí | No |
RedisJSON | No | Sí | Sí |
Nota
Actualmente, no se pueden cargar manualmente módulos en Azure Cache for Redis. Tampoco es posible actualizar manualmente la versión de los módulos.
Uso de módulos con replicación geográfica activa
Solo los módulos RediSearch
y RedisJSON
se pueden usar simultáneamente con la replicación geográfica activa.
Con estos módulos, puede implementar búsquedas en grupos de caché que se sincronizan en una configuración activa-activa. Además, puede buscar estructuras JSON en la configuración activa-activa.
Soporte de biblioteca cliente
Las bibliotecas cliente de Redis estándar tienen una cantidad variable de compatibilidad para cada módulo. Algunos módulos tienen bibliotecas específicas que agregan compatibilidad con el cliente. Consulte las páginas de documentación de Redis para cada módulo para ver más detalles sobre qué bibliotecas cliente las admiten.
Adición de módulos a la memoria caché
Debe agregar módulos al crear la memoria caché de nivel Enterprise. Para agregar un módulo o módulo al crear una nueva memoria caché, use la configuración de la pestaña Opciones avanzadas de las memorias caché del nivel Enterprise.
Puede agregar todos los módulos disponibles o seleccionar solo módulos específicos que se van a instalar.
Importante
Los módulos deben estar habilitados en el momento de crear una instancia de Azure Cache for Redis.
Para más información, consulte Inicio rápido: creación de una caché de Redis Enterprise.
Módulos
Los módulos siguientes están disponibles al crear una nueva caché Enterprise.
RediSearch
El módulo RediSearch agrega un motor de búsqueda en tiempo real a la memoria caché que combina un rendimiento de baja latencia con características de búsqueda eficaces.
Características incluidas:
- Consultas de varios campos
- Agregación
- Búsquedas basadas en prefijos, aproximadas y fonéticas
- Sugerencias de autocompletar
- Filtrado geográfico
- Consultas booleanas
Además, RediSearch puede funcionar como un índice secundario, expandiendo la memoria caché más allá de una estructura clave-valor y ofreciendo consultas más sofisticadas.
RediSearch también incluye funcionalidad para realizar consultas de similitud vectorial, como la búsqueda de vecino más cercano (KNN). Esta característica permite que Azure Cache for Redis se use como una base de datos de vectores, lo cual es útil en casos de uso de IA como motores de respuesta semántica o cualquier otra aplicación que requiera la comparación de vectores de incrustaciones generados por modelos de aprendizaje automático.
Puede usar RediSearch en una amplia variedad de casos de uso, como el inventario en tiempo real, la búsqueda empresarial y la indexación de bases de datos externas. Para obtener más información, consulte la documentación pertinente de GitHub.
Importante
El módulo RediSearch requiere el uso de la directiva de agrupación en clústeres Enterprise
y la directiva de expulsiónNoEviction
. Para más información, consulte Directivas de memoria.
RedisBloom
RedisBloom agrega cuatro estructuras de datos probabilísticas a un servidor de Redis: filtro bloom, filtro cuckoo, croquis count-min y top-k. Cada una de estas estructuras de datos ofrece una manera de sacrificar la precisión perfecta a cambio de una mayor velocidad y una mejor eficiencia de memoria.
Estructura de los datos | Descripción | Aplicación de ejemplo |
---|---|---|
Filtros Bloom y Cuckoo | Indica si un elemento es (a) definitivamente no está en un conjunto o (b) potencialmente en un conjunto. | Comprobación de si ya se ha enviado un correo electrónico a un usuario |
Count-min sketch | Determina la frecuencia de los eventos de una secuencia. | Contar cuántas veces un dispositivo IoT notificó una temperatura inferior a 0 grados centígrados. |
Top-k | Busca los k elementos que se ven con más frecuencia. |
Determine las palabras más frecuentes usadas en guerra y paz. (por ejemplo, si se establece k = 50, se devuelven las 50 palabras más comunes del libro) |
Los filtros Bloom y Cuckoo son similares entre sí, pero cada uno tiene un conjunto único de ventajas y desventajas que están fuera del ámbito de esta documentación.
Para más información, consulte RedisBloom.
RedisTimeSeries
El módulo RedisTimeSeries agrega funcionalidades de serie temporal de alto rendimiento a la memoria caché. Esta estructura de datos está optimizada para grandes volúmenes de datos entrantes y contiene características para trabajar con datos de serie temporal, entre los que se incluyen:
- Consultas agregadas (por ejemplo, promedio, máximo, desviación estándar, etc.)
- Consultas basadas en tiempo (por ejemplo, hora de inicio y hora de finalización)
- Reducción de muestreo/decimación
- Etiquetado de datos para la indexación secundaria
- Período de retención configurable
Este módulo es útil para muchas aplicaciones que implican la supervisión de datos de streaming, como telemetría de IoT, supervisión de aplicaciones y detección de anomalías.
Para más información, consulte RedisTimeSeries.
RedisJSON
El módulo RedisJSON agrega la capacidad de almacenar, consultar y buscar datos con formato JSON. Esta funcionalidad es útil para almacenar datos similares a documentos dentro de la memoria caché.
Características incluidas:
- Compatibilidad completa con el estándar JSON
- Amplia gama de operaciones para todos los tipos de datos JSON, incluidos objetos, números, matrices y cadenas
- Sintaxis dedicada y acceso rápido para seleccionar y actualizar elementos dentro de documentos
El módulo RedisJSON también está diseñado para su uso con el módulo RediSearch para proporcionar la indexación integrada y la consulta de datos dentro de un servidor de Redis. El uso de ambos módulos puede ser una herramienta eficaz para recuperar rápidamente puntos de datos específicos dentro de objetos JSON.
Algunos casos de uso comunes para RedisJSON incluyen aplicaciones como la búsqueda de catálogos de productos, la administración de perfiles de usuario y el almacenamiento en caché de datos estructurados en JSON.
Para más información, consulte RedisJSON.
Nota:
No se admite el comando FT.CONFIG
para actualizar los parámetros de configuración del módulo. Sin embargo, esto se puede lograr pasando argumentos de configuración de los módulos al usar las API de administración. Por ejemplo, puede ver muestras de configuración de las propiedades ERROR_RATE
y INITIAL_SIZE
del módulo RedisBloom mediante el parámetro args
con la API de REST, la CLI de Azure o PowerShell.