Ich verwende ein ORM namens Ohm in Ruby, das über Redis funktioniert, und bin gespannt, wie die Daten tatsächlich gespeichert werden. Ich habe mich gefragt, ob es eine Möglichkeit gibt, alle Schlüssel aufzulisten/Werte in einer Redis-Datenbank.
Jede Spur wird mir sehr helfen (im Grunde stecke ich in der Klemme). Danke im Voraus!
pdate:
Ein Hinweis für andere, die dies mit redis-cli ausprobieren:
$ redis-cli keys
* (press * followed by Ctrl-D)
... (prints a list of keys and exits)
$
Danke @antirez und @hellvinz!
Sie können das Redis-Dataset mit dem in der Redis-Distribution enthaltenen Tool redis-cli
Durchsuchen.
Starten Sie das Tool einfach ohne Argumente und geben Sie dann Befehle ein, um das Dataset zu durchsuchen.
Zum Beispiel listet KEYS
alle Schlüssel auf, die einem Muster im Glob-Stil entsprechen, zum Beispiel mit: keys *
Sehen Sie alle verfügbaren Schlüssel.
Anschließend können Sie mit dem Befehl TYPE
prüfen, welcher Typ ein bestimmter Schlüssel ist. Wenn es sich um eine Liste handelt, können Sie die darin enthaltenen Elemente mit LRANGE mykey 0 -1
Abrufen. Wenn es sich um ein Set handelt, verwenden Sie stattdessen SMEMBERS mykey
Und so weiter. In der Redis-Dokumentation finden Sie eine Liste aller verfügbaren Befehle und deren Funktionsweise.
Füge einfach ein praktisches Ruby Beispiel zu der Antirez-Antwort hinzu (ich werde es nicht wagen, mit ihm zu konkurrieren)
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('*')
Ich bin hier gelandet, weil ich gesucht habe, wie ich alle Schlüssel/Werte in redis sichern kann. Wenn dies auf Sie zutrifft, lesen Sie diesen Artikel .
Verwenden redis-cli bgsave