est là quand même récupérer toutes les clés qui commencent par une chaîne particulière dans Redis?
Je veux faire quelque chose comme le stockage: p> et récupérez tous les Thing1 code> sans avoir à connaître chaque utilisateur. p> p>
5 Réponses :
REDIS.hset("thing1", "user1", "") REDIS.hset("thing1", "user2", "") REDIDS.hgetall("thing1")
Hey, oui j'utilise une carte en ce moment mais je pense que cela serait utile à un niveau inférieur depuis que je ne fais que hingeler une fois dans un moment. Il suffit de veiller à ce que je puisse toujours obtenir toutes les clés si nécessaire. Merci!
Il y a un Commande dans Redis qui recherchez tous vos noms de clé pour un modèle spécifié. Vous devez toutefois faire attention lorsque vous utilisez cette commande car elle a une complexité de temps O (n), de sorte que les performances dépendent de la quantité de clés de votre base de données. Il est plutôt destiné au débogage et ne convient pas aux environnements de production. P>
Vous pouvez également garder une trace des identifiants dans une liste, puis récupérer les valeurs de toutes les touches (ou hachage) à l'aide de la tri http://redis.io/commands/sort . P>
C'est un peu plus compliqué que "clés", mais cela peut faire plus de plus (: P>
J'ai lu quelque part que Hgetall peut vous donner des problèmes si vous avez trop de champs dans un hachage, je ne trouve malheureusement pas le guichet automatique de référence. P>
Vous pouvez utiliser Commande de numérisation à itérer sur toutes les touches qui correspondent à la motif donné:
> SCAN 0 MATCH thing1:* 1) "172032" 2) 1) "thing1:userid1" 2) "thing1:userid2" > SCAN 172032 MATCH thing1:* 1) "0" 2) 1) "thing1:userid3"