如何将Heroku上的RedisToGo数据库复制到本地机器?

4
我有一个使用RedisToGo并在Heroku上运行的node.js应用程序。我想将Redis To Go数据库复制到本地进行测试。
当开发Ruby on Rails应用程序时,我可以使用heroku db:pull命令。是否有类似的命令可供我在node.js和Redis中使用?
谢谢。
3个回答

5

很遗憾,该链接已失效 :( - odlp
更新了!@odlp 我使用了Wayback Machine来获取内容,并制作了一个要点。 - mogramer

4

1
这是我创建本地备份Heroku Redis实例的步骤,但对于其他提供商如RedisToGo和RedisCloud也适用。

在您想要进行备份的计算机上,跳转到redis CLI:

redis-cli

密码?

如果你要复制的主 Redis 数据库有密码:

config set masterauth <password>

开始复制

运行以下命令以开始复制:

SLAVEOF <host> <port>

检查复制是否正在进行中运行:

INFO replication

"你应该看到类似于这样的东西:"
# Replication
role:slave
master_host:some-host.compute-1.amazonaws.com
master_port:6519
master_link_status:up
master_last_io_seconds_ago:3
master_sync_in_progress:0
slave_repl_offset:35492914
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

请注意,master_link_status 应为 up

检查同步进度

当同步完成时,INFO replication 应显示:

master_sync_in_progress:0

为了检查数据集是否已同步,您可以比较数据库的大小:
DBSIZE

将数据转储保存到磁盘

如果从属数据库和主数据库中的键数相匹配,则将数据库保存到磁盘:

BGSAVE
CONFIG GET dir

你需要在配置命令中查找到dump.rdb

停止复制

最后,你可以使用以下命令停止复制:

SLAVEOF NO ONE

参考资料:Redis复制指南

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接