Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Obter quantidade de chaves a partir de um pattern

Olá,

No trabalho usamos o Redis para armazenar tokens de acesso e surgiu a necessidade de obter a quantidade de usuários logados no momento, a minha primeira ideia foi efetuar um count das chaves do Redis com o seguinte pattern:

 token:*

Porém eu não encontrei nenhum comando do Redis que pudesse efetuar count a partir de um pattern, o comando mais próximo que encontrei foi o DBSIZE que retorna a quantidade de chaves no Redis, porém nos temos outras chaves lá além do token e por isso esse comando não servirá para o meu objetivo.

A única solução que encontrei foi obter a lista de das chaves que eu desejo com o comando:

 KEYS token:*

E pegar o size da lista retornada, porém isso irá me gerar um overhead grande, já que vou precisar carregar todas as chaves na memória sendo que na verdade eu so preciso da quantidade.

Alguém tem alguma sugestão de como eu posso fazer isso de maneira mais simples?

2 respostas

Fala ai Denis, tudo bem ?

Cara parece que a galera aqui na plataforma ainda não tá manjando nesse nível sobre redis.

Vou ver se dou uma pesquisa mais a fundo para te dar um help ai :D

solução!

Opa Matheus, tudo bem e você?

Obrigado pela resposta, eu meio que achei uma solução alternativa. Até onde eu pesquisei não existe uma forma de efetuar esse count da maneira que eu preciso pelos comandos do Redis.

Minha solução alternativa foi adicionar o Google Analytics, dessa forma eu consigo saber quantos usuários estão com o browser aberto.

Que da quase na mesma de contar os tokens, porém pelo GA, mesmo que o usuário não efetue o Login ele vai aparecer só de estar acessando a página de login.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software