web-dev-qa-db-fra.com

Récupération / liste de toutes les paires clé / valeur dans une base de données Redis

J'utilise un ORM appelé Ohm dans Ruby qui fonctionne au-dessus de Redis et je suis curieux de savoir comment les données sont réellement stockées. Je me demandais s'il y avait moyen de lister toutes les clés/valeurs dans une base de données Redis.

N'importe quelle piste m'aidera beaucoup (je suis fondamentalement coincé dans l'atmosphère). Merci d'avance!

Mise à jour:
Une note pour les autres essayant d'utiliser redis-cli, utilisez ceci:

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

Merci @antirez et @hellvinz!

68
Jagtesh Chadha

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

Démarrez simplement l'outil sans arguments, puis tapez des commandes pour explorer l'ensemble de données.

Par exemple KEYS listera toutes les clés correspondant à un modèle de style global, 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, s'il s'agit d'une liste, vous pouvez récupérer les éléments à l'intérieur en utilisant LRANGE mykey 0 -1. S'il s'agit d'un ensemble que vous utiliserez à la place SMEMBERS mykey et ainsi de suite. Consultez la documentation Redis pour obtenir une liste de toutes les commandes disponibles et de leur fonctionnement.

116
antirez

Depuis la ligne de commande, vous pouvez également utiliser la commande dump , disponible depuis Redis 2.6.0

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

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

24
N.Martignole

Ajouter juste un Ruby à la réponse antirez (je n'oserai pas 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('*')
20
hellvinz

Je me suis retrouvé ici parce que je cherchais comment sauvegarder toutes les clés/valeurs dans redis. Si cela s'applique à vous, consultez ceci article .

Utilisation redis-cli bgsave

3
Jeremy Hert