Usar módulos Redis com o Redis gerenciado do Azure (versão prévia)
Com o Redis gerenciado do Azure, é possível usar módulos do Redis para adicionar mais estruturas de dados e funcionalidades ao software Redis principal. Isso estende os casos de uso do Redis adicionando funcionalidades como recursos de pesquisa e estruturas de dados, como os filtros Bloom e Cuckoo. Você adiciona os módulos no momento em que está criando a instância do Redis gerenciado do Azure.
Para obter mais informações sobre como criar um cache AMR, consulte Início Rápido: Criar uma instância do Redis gerenciado do Azure.
Escopo dos módulos do Redis
Alguns módulos populares estão disponíveis para uso no Redis gerenciado do Azure:
Módulo | Otimizado para memória | Balanced | Computação otimizada | Otimizada para Flash |
---|---|---|---|---|
RediSearch | Sim | Sim | Yes | Sim (versão prévia) |
RedisBloom | Sim | Sim | Sim | No |
RedisTimeSeries | Sim | Sim | Sim | No |
RedisJSON | Sim | Sim | Sim | Sim |
Observação
Atualmente, você não pode carregar manualmente nenhum módulo no Redis gerenciado do Azure. A atualização manual da versão dos módulos também não é possível.
Usando módulos com replicação geográfica ativa
Somente os módulos RediSearch
e RedisJSON
podem ser usados simultaneamente com a replicação geográfica ativa.
Usando esses módulos, você pode implementar pesquisas entre grupos de caches sincronizados em uma configuração ativa-ativa. Além disso, você pode pesquisar estruturas JSON em sua configuração ativa-ativa.
Suporte da biblioteca de clientes
As bibliotecas de cliente do Redis padrão têm uma quantidade variável de suporte para cada módulo. Alguns módulos têm bibliotecas específicas que adicionam suporte ao cliente. Verifique as páginas de documentação do Redis de cada módulo para obter mais detalhes sobre quais bibliotecas de cliente dão suporte a elas.
Adicionando módulos ao cache
Você deve adicionar módulos ao criar a instância do Redis gerenciado do Azure. Para adicionar um módulo ou módulos ao criar uma nova instância, use as configurações na guia Avançado.
Você pode adicionar todos os módulos disponíveis ou selecionar apenas módulos específicos a serem instalados.
Importante
Os módulos devem ser habilitados no momento em que você criar uma instância de Redis gerenciado do Azure.
Para obter mais informações, consulte Início Rápido: Criar uma instância Redis Gerenciada do Azure.
Módulos
Os módulos a seguir estão disponíveis ao criar uma nova instância do Redis gerenciado do Azure.
RediSearch
O módulo RediSearch adiciona um mecanismo de pesquisa em tempo real ao cache combinando baixo desempenho de latência com recursos de pesquisa avançados.
Os recursos incluem:
- Consultas de vários campos
- Agregação
- Pesquisas baseadas em prefixo, difusas e fonéticas
- Sugestões de preenchimento automático
- Filtragem geográfica
- Consultas boolianas
Além disso, o RediSearch pode funcionar como um índice secundário, expandindo seu cache além de uma estrutura chave-valor e oferecendo consultas mais sofisticadas.
RediSearch também inclui a funcionalidade para executar consultas de similaridade de vetor, como pesquisa de KNN (vizinho K mais próximo). Esse recurso permite que Redis gerenciado do Azure sejam usados como um banco de dados vetor, o que é útil em casos de uso de IA, como mecanismos de resposta semântica ou qualquer outro aplicativo que exija a comparação de vetores de inserções gerados por modelos de aprendizado de máquina.
Você pode usar o RediSearch em diversos casos de uso, incluindo inventário em tempo real, Enterprise Search e indexação de bancos de dados externos. Para saber mais, confira a página de documentação do RediSearch.
Importante
O módulo RediSearch requer o uso da política de clustering Enterprise
e da política de remoção de NoEviction
. Para obter mais informações, consulte Clustering e Políticas de Memória
RedisBloom
O RedisBloom adiciona quatro estruturas de dados probabilísticas a um servidor Redis: filtro bloom, filtro cuckoo, esboço de contagem mínima e k principal. Cada uma dessas estruturas de dados oferece uma maneira de sacrificar a precisão perfeita em troca de maior velocidade e melhor eficiência de memória.
Estrutura de dados | Descrição | Aplicativo de exemplo |
---|---|---|
Filtros Bloom e Cuckoo | Informa se um item (a) certamente não está em um conjunto ou (b) está potencialmente em um conjunto. | Verificando se um email já foi enviado a um usuário |
Count-min sketch | Determina a frequência de eventos em um fluxo | Contando quantas vezes um dispositivo IoT relatou uma temperatura abaixo de 0 graus Celsius. |
Top-k | Localiza os k itens vistos com mais frequência |
Determine as palavras mais frequentes usadas em Guerra e Paz. (por exemplo, a configuração de k = 50 retornará as 50 palavras mais comuns no livro) |
Os filtros Bloom e Cuckoo são semelhantes, mas cada um tem um conjunto exclusivo de vantagens e desvantagens que estão além do escopo desta documentação.
Para saber mais, confira RedisBloom.
RedisTimeSeries
O módulo RedisTimeSeries adiciona recursos de série temporal de alta taxa de transferência ao seu cache. Essa estrutura de dados é otimizada para grandes volumes de dados de entrada e contém recursos para trabalhar com dados de série temporal, incluindo:
- Consultas agregadas (por exemplo, média, máximo, desvio padrão etc.)
- Consultas baseadas em tempo (por exemplo, hora de início e hora de término)
- Redução da resolução/eliminação
- Rotulagem de dados para indexação secundária
- Período de retenção configurável
Este módulo é útil para muitos aplicativos que envolvem o monitoramento de dados de streaming, como telemetria de IoT, monitoramento de aplicativos e detecção de anomalias.
Para saber mais, confira RedisTimeSeries.
RedisJSON
O módulo RedisJSON adiciona a capacidade de armazenar, consultar e pesquisar dados formatados em JSON. Essa funcionalidade é útil para armazenar dados semelhantes a documentos em seu cache.
Os recursos incluem:
- Suporte completo para o padrão JSON
- Ampla gama de operações para todos os tipos de dados JSON, incluindo objetos, números, matrizes e cadeias de caracteres
- Sintaxe dedicada e acesso rápido para selecionar e atualizar elementos dentro de documentos
O módulo RedisJSON também foi projetado para uso com o módulo RediSearch para fornecer indexação integrada e consulta de dados em um servidor Redis. O uso de ambos os módulos juntos pode ser uma ferramenta poderosa para recuperar rapidamente pontos de dados específicos em objetos JSON.
Alguns casos de uso comuns para RedisJSON incluem aplicativos como pesquisa de catálogos de produtos, gerenciamento de perfis de usuário e armazenamento em cache de dados estruturados em JSON.
Para mais informações, consulte RedisJSON.
Observação
Não há suporte para o comando FT.CONFIG
para atualizar os parâmetros de configuração do módulo. No entanto, isso pode ser feito passando argumentos configurando os módulos ao usar APIs de gerenciamento. Por exemplo, você pode ver exemplos de configuração das propriedades ERROR_RATE
e INITIAL_SIZE
do módulo RedisBloom usando o parâmetro args
com a REST API, CLI do Azure ou PowerShell.