在Redis数据库中转储所有的键/值对
我在Ruby中使用了一个名为Ohm的ORM,它在Redis上工作,并且很好奇如何确定数据是如何存储的。 我想知道是否有办法列出Redis数据库中的所有键/值。
任何领导都会帮助我(我基本上坚持atm)很长的路要走。 提前致谢!
更新:
其他人的注意事项使用redis-cli来试用这个,使用这个:
$ redis-cli keys * (press * followed by Ctrl-D) ... (prints a list of keys and exits) $
感谢@antirez和@hellvinz!
您可以使用Redis发行版中包含的redis-cli
工具来浏览Redis数据集。
只需启动没有参数的工具,然后键入命令来浏览数据集。
例如, KEYS
将列出所有与glob样式相匹配的键,例如: keys *
您将看到所有可用的键。
然后你可以使用TYPE
命令来检查给定的键是什么types,如果它是一个列表,你可以使用LRANGE mykey 0 -1
来检索里面的元素。 如果它是一个集合,您将使用,而不是SMEMBERS mykey
等等。 查看Redis文档以获取所有可用命令的列表以及它们的工作方式。
只要在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('*')
在命令行中,您还可以使用自Redis 2.6.0以来可用的dump命令
redis-cli KEYS \* | xargs -n 1 redis-cli dump
(注意,如果你不介意,这也适用于早期版本的get命令)
我在这里结束了,因为我正在寻找如何备份redis中的所有键/值。 如果这适用于你,看看这篇文章 。
使用redis-cli bgsave