Question

J'utilise un ORM appelé Ohm en Ruby qui fonctionne sur le dessus de Redis et je suis curieux de savoir comment les données sont effectivement stockées. Je me demandais s'il y a moyen de liste toutes les clés / valeurs dans un Redis db.

Toute avance ira un long chemin pour me aider (je suis fondamentalement coincé atm). Merci à l'avance!

Mise à jour: Une note pour les autres d'essayer ce à l'aide Redis-cli, utilisez ceci:

$ redis-cli keys
* (press * followed by Ctrl-D)
... (prints a list of keys and exits)
$

Merci @antirez et @hellvinz!

Était-ce utile?

La solution

Vous pouvez explorer l'ensemble de données Redis en utilisant l'outil de redis-cli inclus dans la distribution Redis.

Il suffit de lancer l'outil sans arguments, puis tapez les commandes pour explorer l'ensemble de données.

Par exemple KEYS liste toutes les clés correspondant à un motif de style glob, par exemple avec:. keys * vous verrez toutes les clés disponibles

Ensuite, vous pouvez utiliser la commande TYPE pour vérifier quel type est une clé donnée, si elle est une liste que vous pouvez récupérer les éléments à l'intérieur à l'aide LRANGE mykey 0 -1. S'il est un jeu que vous allez utiliser à la place SMEMBERS mykey et ainsi de suite. Consultez la documentation Redis pour obtenir une liste de toutes les commandes disponibles et comment ils fonctionnent.

Autres conseils

A partir de la ligne de commande, vous pouvez également utiliser la commande de la décharge , disponible depuis Redis 2.6.0

redis-cli KEYS \* | xargs -n 1 redis-cli dump

(notez que cela fonctionne aussi avec le get commande pour les versions antérieures si vous ne me dérange pas)

Il suffit d'ajouter un exemple de rubis pratique à la réponse antirez (je n'oserais rivaliser avec lui)

irb(main):002:0> require 'rubygems'
=> true
irb(main):003:0> require 'redis'
=> true
irb(main):004:0> r = Redis.new
=> #<Redis:0x8605b64 @sock=#<TCPSocket:0x8605ab0>, @timeout=5, @port=6379, @db=0, @host="127.0.0.1">
irb(main):005:0> r.keys('*')

J'ai fini ici parce que je cherchais comment sauvegarder toutes les clés / valeurs Redis. Si cela vous concerne, consultez cette article .

Utilisez redis-cli bgsave

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top