Сброс всех пар ключ / значение в базе данных Redis - PullRequest
68 голосов
/ 26 сентября 2010

Я использую ORM под названием Ohm в Ruby, который работает поверх Redis, и мне интересно узнать, как на самом деле хранятся данные.Мне было интересно, есть ли способ перечислить все ключи / значения в базе данных Redis.

Любое лидерство поможет мне (я в основном застрял).Заранее спасибо!

Обновление:
Примечание для тех, кто пытается это сделать с помощью redis-cli, используйте это:

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

Спасибо @antirez и @hellvinz!

Ответы [ 4 ]

115 голосов
/ 26 сентября 2010

Вы можете исследовать набор данных Redis с помощью инструмента redis-cli, включенного в дистрибутив Redis.

Просто запустите инструмент без аргументов, а затем введите команды для просмотра набора данных.

Например, KEYS выведет список всех ключей, соответствующих шаблону в стиле глобуса, например, с: keys * вы увидите все доступные ключи.

Затем вы можете использовать команду TYPE, чтобы проверить, к какому типу относится данный ключ. Если это список, вы можете получить элементы внутри, используя LRANGE mykey 0 -1. Если это набор, вы будете использовать вместо него SMEMBERS mykey и так далее. Проверьте в документации Redis список всех доступных команд и их работу.

23 голосов
/ 12 июля 2013

В командной строке вы также можете использовать команду dump , доступную с Redis 2.6.0

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

(обратите внимание, что это также работает с get команда для более ранних версий, если не возражаете)

20 голосов
/ 27 сентября 2010

Просто добавив практический пример с рубином к ответу Антиреза (я не смею с ним соревноваться)

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('*')
3 голосов
/ 25 июня 2015

Я оказался здесь, потому что искал, как сделать резервную копию всех ключей / значений в redis.Если это относится к вам, ознакомьтесь с этой статьей .

Использовать redis-cli bgsave

...