在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

Interesting Posts