RedisDBのすべてのキー/値ペアを取得/リスト
質問
Redisの上で動作するRubyのOhmというORMを使用しており、データが実際にどのように保存されているかを知りたいと思っています。 Redis DBのすべてのキー/値をリストする方法があるかどうか疑問に思っていました。
どんなリードでも、私を助けてくれるのに大いに役立ちます(私は基本的に立ち往生しています)。前もって感謝します!
アップデート:
Redis-Cliを使用してこれを試している他の人のためのメモ、これを使用してください。
$ redis-cli keys
* (press * followed by Ctrl-D)
... (prints a list of keys and exits)
$
@Antirezと@Hellvinzに感謝します!
解決
を使用してRedisデータセットを探索できます redis-cli
Redis Distributionに含まれるツール。
引数なしでツールを起動するだけで、コマンドを入力してデータセットを探索します。
例えば KEYS
たとえば、グローブスタイルのパターンに一致するすべてのキーを次のようにリストします。 keys *
利用可能なすべてのキーが表示されます。
次に、を使用できます TYPE
指定されたキーであるタイプを確認するコマンドが、それがリストである場合、内部の要素を使用して取得できる LRANGE mykey 0 -1
. 。それがセットの場合、代わりに使用します SMEMBERS mykey
など。利用可能なすべてのコマンドとそれらの動作のリストについては、Redisドキュメントを確認してください。
他のヒント
Antirez Responseに実用的なRubyの例を追加するだけです(私は彼と競争することはありません)
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('*')
Redisのすべてのキー/値をバックアップする方法を探していたので、私はここで終わりました。これがあなたに当てはまる場合は、これをチェックしてください 論文.
使用する redis-cli bgsave