我有一个使用RedisToGo并在Heroku上运行的node.js应用程序。我想将Redis To Go数据库复制到本地进行测试。
当开发Ruby on Rails应用程序时,我可以使用
谢谢。
当开发Ruby on Rails应用程序时,我可以使用
heroku db:pull
命令。是否有类似的命令可供我在node.js和Redis中使用?谢谢。
之前红宝石的支持知识库里有一份指南,但现在已经被删除了。我使用了 Way Back Machine 工具来获取其内容,并创建了一个代码片段:https://gist.github.com/mmcdaris/29cfe920c846ae6dd5c6eb354c9abdd2。不同方法,同样的结果。
在您想要进行备份的计算机上,跳转到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