Usar módulos Redis com o Cache Redis do Azure

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

Para obter mais informações sobre como criar um cache Enterprise, consulte Guia de início rápido: criar um cache 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 filtros bloom e cuco.

Âmbito dos módulos Redis

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

Módulo Basic, Standard e Premium Grandes Empresas Flash Empresarial
RediSearch Não Sim Sim (pré-visualização)
RedisBloom Não Sim No
RedisTimeSeries Não Sim No
RedisJSON Não Sim Sim

Nota

Atualmente, não é possível 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

Apenas os módulos e RedisJSON podem ser usados simultaneamente com a RediSearch 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 ativo-ativo.

Suporte à biblioteca do cliente

As bibliotecas de cliente 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 para cada módulo para ver mais detalhes sobre quais bibliotecas de cliente os suportam.

Adicionando módulos ao cache

Você deve adicionar módulos ao criar seu cache de 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 para instalar.

Captura de tela da 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ê cria uma instância do Cache do Azure para Redis.

Para obter mais informações, consulte Guia de início rápido: criar um cache 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 seu cache, combinando desempenho de baixa latência com recursos de pesquisa poderosos.

As funcionalidades incluem:

  • Consultas de vários campos
  • Agregação
  • Pesquisas baseadas em prefixos, confusas e fonéticas
  • Sugestões de preenchimento automático
  • Filtragem geográfica
  • Consultas booleanas

Além disso, o RediSearch pode funcionar como um índice secundário, expandindo seu cache além de uma estrutura de chave-valor e oferecendo consultas mais sofisticadas.

RediSearch também inclui funcionalidade para executar consultas de semelhança vetorial, como a pesquisa K-nearest neighbor (KNN). Esse recurso permite que o Cache Redis do Azure seja usado como um banco de dados vetorial, 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 incorporação gerados por modelos de aprendizado de máquina.

Você pode usar o RediSearch em uma ampla variedade de casos de uso, incluindo inventário em tempo real, pesquisa corporativa e na indexação de bancos de dados externos. Para obter mais informações, consulte a página de documentação do RediSearch.

Importante

O módulo RediSearch requer o Enterprise uso da política de clustering e da NoEviction política de remoção. 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 cuco, esboço count-min e top-k. 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 dos dados Descrição Exemplo de aplicação
Filtros Bloom e Cuco Informa se um item não está (a) definitivamente em um conjunto ou (b) potencialmente em um conjunto. Verificar se um e-mail já foi enviado a um usuário
Esboço de contagem-min Determina a frequência de eventos em um fluxo Contando quantas vezes um dispositivo IoT relatou uma temperatura abaixo de 0 graus Celsius.
Topo-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 k = 50 retorna as 50 palavras mais comuns do livro)

Os filtros Bloom e Cuckoo são semelhantes entre si, mas cada um tem um conjunto único de vantagens e desvantagens que estão além do escopo desta documentação.

Para obter mais informações, consulte RedisBloom.

RedisTimeSeries

O módulo RedisTimeSeries adiciona recursos de séries cronológicas de alto rendimento ao cache. Essa estrutura de dados é otimizada para grandes volumes de dados de entrada e contém recursos para trabalhar com dados de séries temporais, incluindo:

  • Consultas agregadas (por exemplo, média, máximo, desvio padrão, etc.)
  • Consultas baseadas no tempo (por exemplo, hora de início e hora de fim)
  • Redução da amostragem/dizimaçã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 IoT, monitoramento de aplicativos e deteção de anomalias.

Para obter mais informações, consulte 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.

As funcionalidades incluem:

  • Suporte total 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 e consulta integradas de dados dentro de um servidor Redis. Usar ambos os módulos juntos pode ser uma ferramenta poderosa para recuperar rapidamente pontos de dados específicos dentro de objetos JSON.

Alguns casos de uso comuns do 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 obter mais informações, consulte RedisJSON.

Nota

O FT.CONFIG comando não é suportado para atualizar os parâmetros de configuração do módulo. No entanto, isso pode ser conseguido passando argumentos configurando os módulos ao usar APIs de gerenciamento. Por exemplo, você pode ver exemplos de configuração das ERROR_RATE propriedades e INITIAL_SIZE do módulo RedisBloom usando o args parâmetro com a API REST, CLI do Azure ou PowerShell.