当前位置:  开发笔记 > 后端 > 正文

转储Redis数据库中的所有键/值对

如何解决《转储Redis数据库中的所有键/值对》经验,为你挑选了3个好方法。

我在Ruby中使用一个名为Ohm的ORM,它在Redis之上运行,我很想知道数据是如何实际存储的.我想知道是否有办法列出Redis数据库中的所有键/值.

任何领导都会在很长一段时间内帮助我(我基本上被困在了).提前致谢!

更新:
使用redis-cli尝试此操作的其他人的注释,使用此:

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

谢谢@antirez和@hellvinz!



1> antirez..:

您可以使用redis-cliRedis发行版中包含的工具浏览Redis数据集.

只需启动不带参数的工具,然后键入命令以探索数据集.

例如,KEYS 将列出匹配glob样式模式的所有键,例如:keys *您将看到所有可用的键.

然后,您可以使用该TYPE命令检查给定键的类型,如果是列表,则可以检索内部使用的元素LRANGE mykey 0 -1.如果它是一个Set,你将使用而不是SMEMBERS mykey等等.查看Redis文档以获取所有可用命令及其工作方式的列表.



2> N.Martignole..:

从命令行,您还可以使用自Redis 2.6.0以来可用的dump命令

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

(请注意,如果您不介意,这也适用于早期版本的get命令)


你的第一个回答我告诉我,我必须在命令行中将*转换为\\*....必须浪费大约20分钟,"redis命令的参数数量错误"才能完美运行在客户端直到我发现这个.谢谢.

3> hellvinz..:

只是在antirez响应中添加一个实用的ruby示例(我不敢与他竞争)

irb(main):002:0> require 'rubygems'
=> true
irb(main):003:0> require 'redis'
=> true
irb(main):004:0> r = Redis.new
=> #, @timeout=5, @port=6379, @db=0, @host="127.0.0.1">
irb(main):005:0> r.keys('*')

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有