内容简介:利用redis的持久化功能,redis重启的时候,会自动从硬盘的持久化文件中读取数据再恢复到内存中。利用这里原理,把redis2的持久化备份要使用这个方案,就必须了解redis的持久化,redis的持久化方案有2种,rdb模式和aof模式:
redis迁移方案
整理一下常用的几种 redis 迁移的方案,分别对应不同的场景。
- 备份/拷贝/重启
- redis-dump
- 客户端
1. 备份/拷贝/重启
利用redis的持久化功能,redis重启的时候,会自动从硬盘的持久化文件中读取数据再恢复到内存中。利用这里原理,把redis2的持久化备份
要使用这个方案,就必须了解redis的持久化,redis的持久化方案有2种,rdb模式和aof模式:
- rdb 保存整个redis的数据
- aof 保存成redis可以执行的命令
rdb 覆盖过去之后,新的redis数据就没了,毕竟是覆盖操作。而 aof 因为是保存的命令,只是在新的redis上重新执行了一遍,所以不会覆盖
新redis上的数据。 简单来说 如果需要保留新redis的数据,可以使用aof 。
具体命令
rdb方案
# 链接redis $ redis-cli -u 127.0.0.1 -p 6379 -a 你的密码 # 执行持久化 $ 127.0.0.1:6379> bgsave # 查看文件位置 $ 127.0.0.1:6379> config get dir
复制 redis数据目录/dump.rdb 到另一台redis的数据目录下,启动即可。
ps:先关闭目标redis,先复制文件的话,在目标redis关闭的时候,会生成持久化文件,覆盖你刚刚复制的文件
aof
# 设置appendonly yes $ 127.0.0.1:6379> config set appendonly yes # or $ redis-cli -u 127.0.0.1 -p 6379 -a 你的密码 config set appendonly yes
执行之后,就会在 redis的数据目录 看到 appendonly.aof 文件
# 目标redis $ redis-cli -h aliyun_redis_instance_ip -p 6379 -a password --pipe < appendonly.aof
2. redis-dump
redis-dump是一个第三方的工具,提供redis的导出和导入。
安装步骤
-
安装rvm。可参考官网: http://rvm.io/
# gpg2 没安装的化自行安装 `apt install gnupg2` $ gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB $ \curl -sSL https://get.rvm.io | bash -s stable # 按照系统提示执行,添加系统环境 $ source /etc/profile.d/rvm.sh # 确认安装成功 $ rvm list known
-
安装 ruby 参考官方网站: http://www.ruby-lang.org/en/d...
# ruby版本参考官方发行的最新版,本搞写的时候版本为2.6.3 $ rvm install ruby 2.6.3
-
安装
redis-dump# 移除国外的库,不然下载不了 $ gem sources --remove https://rubygems.org/ # 安装国内的资源地址 $ gem sources -a https://gems.ruby-china.com/ # 安装 $ gem install redis-dump -V
一些简单的使用
# 导出所有db $ redis-dump -u 127.0.0.1:6371 > db_full.json # 导出db15 $ redis-dump -u 127.0.0.1:6371 -d 15 > db_db15.json # 导入 $ < db_full.json redis-load -u 127.0.0.1:6379 $ < db_db15.json redis-load -u 127.0.0.1:6379 -d 15 # OR $ cat db_full | redis-load $ cat db_db15.json | redis-load -d 15 # 使用密码的小技巧(注意密码前面的`:`) $ redis-dump -u :密码@127.0.0.1:6371
3. 客户端
使用 phpredisadmin 等客户端,自带导入、导出
git库 https://github.com/ErikDubbel...
Example: http://dubbelboer.com/phpRedi...
功能截图:
以上所述就是小编给大家介绍的《redis数据库迁移方案》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 银行核心海量数据无损迁移:TDSQL数据库多源异构迁移方案
- 简单数据库迁移实践
- 再无需从头训练迁移学习模型!亚马逊开源迁移学习数据库 Xfer
- flask 迁移数据库工具
- 用 Golang 处理数据库迁移
- 浅谈数据库同步和迁移
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Automate This
Christopher Steiner / Portfolio / 2013-8-9 / USD 25.95
"The rousing story of the last gasp of human agency and how today's best and brightest minds are endeavoring to put an end to it." It used to be that to diagnose an illness, interpret legal docume......一起来看看 《Automate This》 这本书的介绍吧!