web-dev-qa-db-ja.com

Redis dbのすべてのキー/値ペアの取得/一覧表示

Ruby Redisで動作するOhmと呼ばれるORMを使用しており、データが実際に保存される方法を知りたいと思っています。すべてのキーをリストする方法があるかどうか疑問に思いましたRedisデータベースの/ values。

リードは私を助けるのに大いに役立ちます(私は基本的にatmで立ち往生しています)。前もって感謝します!

更新:
redis-cliを使用してこれを試す他のユーザーへの注意、これを使用します。

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

@antirezと@hellvinzに感謝します!

68
Jagtesh Chadha

Redisディストリビューションに含まれるredis-cliツールを使用して、Redisデータセットを探索できます。

引数なしでツールを起動し、コマンドを入力してデータセットを探索します。

たとえば、KEYSは、グロブスタイルのパターンに一致するすべてのキーをリストします。たとえば、keys *を使用すると、使用可能なすべてのキーが表示されます。

次に、TYPEコマンドを使用して、指定されたキーがどのタイプであるかを確認できます。リストがLRANGE mykey 0 -1を使用して内部の要素を取得できる場合。セットの場合、代わりにSMEMBERS mykeyなどを使用します。使用可能なすべてのコマンドとそれらの動作のリストについては、Redisのドキュメントを確認してください。

116
antirez

コマンドラインから dump コマンドを使用することもできます。これは、Redis 2.6.0以降で使用可能です

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

(気にしない場合、これは以前のバージョンの get コマンドでも動作することに注意してください)

24
N.Martignole

Antirez応答に実用的な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('*')
20
hellvinz

Redisですべてのキー/値をバックアップする方法を探していたので、ここで終わりました。これがあなたに当てはまるなら、これをチェックしてください 記事

つかいます redis-cli bgsave

3
Jeremy Hert