Usar os módulos do Redis com o Cache do Azure para Redis

Com o Cache do Azure para Redis, você pode usar módulos do Redis como bibliotecas para adicionar mais estruturas de dados e funcionalidade ao software Redis principal. Você adiciona os módulos no momento em que está criando o cache da camada Enterprise.

Para obter mais informações sobre como criar um cache Enterprise, consulte Início Rápido: Criar um cache do Redis Enterprise.

Os módulos foram introduzidos no Redis 4.0 de código aberto. Os módulos estendem os casos de uso do Redis adicionando funcionalidades como recursos de pesquisa e estruturas de dados, como os filtros bloom e cuckoo.

Escopo dos módulos do Redis

Alguns módulos populares estão disponíveis para uso na camada Enterprise de Cache do Azure para Redis:

Módulo Básico, Standard e Premium Enterprise Enterprise Flash
RediSearch No Yes Sim (versão prévia)
RedisBloom No Sim No
RedisTimeSeries No Sim No
RedisJSON Não Sim Sim

Observação

Atualmente, você não pode carregar manualmente nenhum módulo no Cache do Azure para Redis. 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 o cache da camada Enterprise. Para adicionar um módulo ou módulos ao criar um novo cache, use as configurações na guia Avançado dos caches da camada Enterprise.

Você pode adicionar todos os módulos disponíveis ou selecionar apenas módulos específicos a serem instalados.

Captura de tela de guia avançada mostrando uma lista de módulos a serem adicionados a um novo cache.

Importante

Os módulos devem ser habilitados no momento em que você criar uma instância de Cache do Azure para Redis.

Para obter mais informações, consulte Início Rápido: Criar um cache do Redis Enterprise.

Módulos

Os módulos a seguir estão disponíveis ao criar um novo cache Enterprise.

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 Cache do Azure para Redis 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 machine learning.

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 Política de 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.