https://redis.io/docs/data-types/probabilistic/top-k/

Top K é uma estrutura de dados probabilística na Redis Stack usada para estimar os elementos de maior classificação K a partir de um stream.

“Maior classificação” neste caso significa “elementos com um maior número ou pontuação associada a eles”, onde a pontuação pode ser uma contagem de quantas vezes o elemento apareceu no stream - tornando a estrutura de dados perfeita para encontrar os elementos com a maior frequência em um stream. Uma aplicação muito comum é detectar anomalias de rede e ataques DDoS onde o Top K pode responder à pergunta: Há um aumento repentino no fluxo de solicitações para o mesmo endereço ou do mesmo IP?

De fato, há alguma sobreposição com a funcionalidade do Count-Min Sketch, mas as duas estruturas de dados têm suas diferenças e devem ser aplicadas para diferentes casos de uso.

Caso de uso

Esta aplicação responde a estas perguntas:

  • Quais são as K hashtags mais mencionadas pelas pessoas nas últimas X horas?
  • Quais são as K notícias com maior contagem de leitura/visualização hoje?

O fluxo de dados são as postagens de mídia social que chegam, das quais você analisa as diferentes hashtags.

O comando TOPK.LIST tem uma complexidade de tempo O(K) então se K for pequeno, não há necessidade de manter um conjunto separado ou conjunto ordenado de todas as hashtags. Você pode consultar diretamente do Top K.