redis数据库迁移方案

栏目: 数据库 · 发布时间: 5年前

内容简介:利用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的导出和导入。

安装步骤

  1. 安装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
  2. 安装 ruby 参考官方网站: http://www.ruby-lang.org/en/d...

    # ruby版本参考官方发行的最新版,本搞写的时候版本为2.6.3
    $ rvm install ruby 2.6.3
  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数据库迁移方案


以上所述就是小编给大家介绍的《redis数据库迁移方案》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Servlet与JSP核心编程

Servlet与JSP核心编程

[美]Marty Hall、Larry Brown、Yaakov Chalkin / 胡书敏 / 2009-6 / 68.00元

《Servlet与JSP核心编程(第2卷 第2版)》在第l卷的基础上,广泛涉及自定义标签库、过滤器、声明式安全、JSTL和Struts等主题,并沿袭深受读者喜爱的写作风格,通过完整、有效、资料丰富的程序来演绎目前最流行的技术和最佳实践。Java EE已经成为电子商务网站、动态网站和Web应用与服务开发的首选,作为这一平台的基础,servlet与JSP的重要性日益突出,并在极短的时间内得以迅速普及。......一起来看看 《Servlet与JSP核心编程》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

MD5 加密
MD5 加密

MD5 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具