Imagine ter um monte de hashes em um banco de dados Redis, cada um representando um objeto de usuário. Como você obteria o usuário com, por exemplo, a menor data de registro? O usuário onde ts_registered
é o mais baixo. Pesquisei um pouco na página de comandos em redis.io , mas não encontrei um comando para isso lá.
Não tenho muita experiência com o Redis e estou basicamente verificando como ele funciona.
O Redis não vem com a capacidade de pesquisar/indexar dentro de hashes, mas oferece todas as ferramentas necessárias para realizar sua tarefa. Seu desafio pode ser resolvido, por exemplo, mantendo uma chave no banco de dados chamada last_user_registered ou similar, e configurando-a toda vez que um usuário se registrar com o ID desse usuário. Quando você quiser buscar o último usuário que se registrou em um determinado momento - apenas PEGUE, entendeu?
Mas você (e Redis!) pode fazer muito melhor: por exemplo, você pode usar uma lista Redis e membros LPUSH/RPOP para manter pontuações com os usuários que ingressaram pela última vez. Ou, você pode usar um conjunto ordenado onde cada membro é um id de usuário e a pontuação é o timestamp... ah, as possibilidades são infinitas e você está limitado apenas pela sua imaginação (e tempo, recursos, etc...) ;)
Acho que é exatamente por isso que os 'aficionados' do Redis se referem a ele como uma ferramenta de criação de banco de dados, e não apenas como um banco de dados - você pode realmente fazer o que quiser e, se o que deseja ainda não estiver no Redis, sempre haverá Lua que você pode usar para estender ou até mesmo desenvolver seu próprio fork e colocar uma solicitação pull no github .