Utilizar módulos Redis con Azure Managed Redis (versión preliminar)
Con Azure Managed Redis (versión preliminar), puede utilizar módulos de Redis para agregar más estructuras de datos y funciones al software principal de Redis. Amplían los casos de uso de Redis agregando funciones como capacidades de búsqueda y estructuras de datos como filtros bloom y cuckoo. Los módulos se agregan en el momento de crear la instancia de Azure Managed Redis.
Para obtener más información sobre la creación de una caché AMR, consulte Inicio rápido: crear una instancia de Redis administrada por Azure.
Ámbito de los módulos de Redis
Algunos módulos populares están disponibles para su uso en Azure Managed Redis:
Módulo | Memoria optimizada | Equilibrada | Optimizada para proceso | Optimizado para Flash |
---|---|---|---|---|
RediSearch | Sí | Sí | Sí | Sí (versión preliminar) |
RedisBloom | Sí | Sí | Sí | No |
RedisTimeSeries | Sí | Sí | Sí | No |
RedisJSON | Sí | Sí | Sí | Sí |
Nota:
Actualmente, no se puede cargar manualmente ningún módulo en Azure Managed 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 cuando cree su instancia de Azure Managed Redis. Para agregar un módulo o módulos al crear una nueva instancia, utilice la configuración de la pestaña Avanzado.
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 Managed Redis.
Para obtener más información, consulte Inicio rápido: crear una instancia de Redis administrada por Azure.
Módulos
Los siguientes módulos están disponibles al crear una nueva instancia de Azure Managed Redis.
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 función permite utilizar Azure Managed Redis como base de datos de vectores, lo que resulta útil en casos de uso de IA como motores de respuestas semánticas o cualquier otra aplicación que requiera la comparación de vectores de incrustación 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 obtener más información, consulte Agrupación en clústeres y 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)
- Muestreo/decimación descendente
- 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.