您当前的位置:首页 > 电脑百科 > 数据库 > Redis

Redis 数据迁移方法

时间:2020-03-09 10:44:31  来源:  作者:

redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis 数据迁移方法

 

一、redis-dump迁移

redis-dump需要ruby.2.2.0以上版本,因此,需要先升级。

1、更新编译环境的包
  yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel
2、安装RVM,通过RVM安装升级
  curl -L get.rvm.io | bash -s stable
  source /etc/profile.d/rvm.sh
  rvm -v                 //安装完成后,通过该方法测试是否安装正常
3、更新RVM安装镜像
  vim /usr/local/rvm/user/db
  
  ruby_url=https://cache.ruby-china.org/pub/ruby
  
  ruby -v              //查看ruby版本
  rvm list known    //列出已知ruby版本
  rvm install 2.4    //安装ruby2.4版本,会自动去匹配
4、更新gem版本
  gem update --system               //需要科学上网
  gem -v                             //查看版本号
  gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/   //更换源镜像
  gem sources -l      //查看源镜像内容
5、安装redis-dump
  gem install redis-dump -V               //安装redis-dump
  redis-dump -v                                //查看版本号及是否安装正常
  redis-dump -u 源地址:6379 -a password > /data/deploy/redis/data/redis_6378.json   //导出
  < redis_6378.json redis-load -u 目标地址:6379 -a password -n        //导入

二、Redis迁移

源服务器:
  ./redis-cli -h 源IP地址 -a 源密码 config set Appendonly yes  //开启aof功能

开启后,数据在redis/data/6379/ 文件夹里面

  ./redis-cli -h 源IP地址 -a 源密码 config set appendonly no  //关闭aof功能
目标服务器:
  ./redis-cli -h 目标IP地址 -a 目标密码 --pipe < data/6379/appendonly.aof

三、脚本迁移

1、Redis全量合并
  #!/bin/bash
  src_ip=源地址
  src_port=6379
  src_db=0
  src_pw='密码'
  
  dest_ip=目标地址
  dest_port=6379
  dest_db=0
  desc_pw='密码'
  
  ./redis-cli -h $src_ip -p $src_port  -a $src_pw  -n $src_db keys "*" | while read key
  do
  ./redis-cli -h $src_ip -p $src_port -a $src_pw  -n $src_db --raw dump $key | perl -pe 'chomp if eof' | ./redis-cli -h $dest_ip -p $dest_port -a $desc_pw
   -n $dest_db -x restore $key 0
      echo "migrate key $key"
  done
2、差异合并
  #!/bin/bash
  src_ip=127.0.0.1
  src_port=8090
  src_db=14
  src_pw='1234'
  
  dest_ip=127.0.0.1
  dest_port=6379
  dest_db=2
  desc_pw='1234'
   
  #要遍历的key
  k=(test ws we)
  
  for loop in ${k[*]}
  do
      redis-cli -h $src_ip -p $src_port -a $src_pw -n $src_db --raw dump $loop | perl -pe 'chomp if eof' | redis-cli -h $dest_ip -p $dest_port -a $desc_pw -n $dest_db -x restore $loop 0
      echo "The value is: $loop"
  done
3、导入某个key
  redis-cli -h 127.0.0.1 -p 8090 -a 1234 -n 14 --raw dump test | perl -pe 'chomp if eof' | redis-cli -h 127.0.0.1 -p 8090 -a 1234 -n 15 -x restore test 0


Tags:Redis 数据迁移   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 一、redis-dump迁移redis-dump需要r...【详细内容】
2020-03-09  Tags: Redis 数据迁移  点击:(84)  评论:(0)  加入收藏
▌简易百科推荐
来源: my.oschina.net/xiaomu0082/blog/2990388首先说下问题现象:内网sandbox环境API持续1周出现应用卡死,所有api无响应现象刚开始当测试抱怨环境响应慢的时候 ,我们重启一下应...【详细内容】
2021-12-08  Java识堂    Tags:Redis   点击:(18)  评论:(0)  加入收藏
我不知道为什么你会选择对特定数量的“错误”(或警告)如此具体。听起来您正在寻找将要发布到 Yahoo! 的某些文章的内容。 Insider (N Foos to Blah for the BlahBlah)。那说:...【详细内容】
2021-12-07  富集云科技有限公司    Tags:Redis   点击:(14)  评论:(0)  加入收藏
目录 一、背景 二、步骤 0.理论支持 1、获取数据 2、结果 3、分析数据并评估大小 三、关于repl-backlog-size 一、背景 repl-backlog-size控制这个环形缓冲区. ​ 主从断...【详细内容】
2021-11-05  弈秋的美好生活    Tags:redis   点击:(41)  评论:(0)  加入收藏
Redis 性能测试是通过同时执行多个命令实现的。1,Redis-benchmarkRedis性能命令:redis性能命令格式: redis-benchmark [option] [option value] redis 性能测试工具可选参数如...【详细内容】
2021-11-02  川石信息    Tags:Redis   点击:(41)  评论:(0)  加入收藏
1 概述数据结构和内部编码 无传统关系型数据库的 Table 模型schema 所对应的db仅以编号区分。同一 db 内,key 作为顶层模型,它的值是扁平化的。即 db 就是key的命名空间。 key...【详细内容】
2021-11-01  JavaEdge    Tags:Redis   点击:(28)  评论:(0)  加入收藏
普通java中使用引用Java redis 驱动,即可连接:import redis.clients.jedis.Jedis; public class RedisTestJava { public static void main(String[] args) { //连...【详细内容】
2021-10-13  faesuite    Tags:Redis   点击:(34)  评论:(0)  加入收藏
Redis常用的数据结构有 string list set zset hashstringstring 是 Redis 的基本的数据类型,一个 key 对应一个 value。string 类型是二进制安全的,Redis的string可以包含任...【详细内容】
2021-10-12  语霖    Tags:Redis   点击:(36)  评论:(0)  加入收藏
列表类型可以存储一组按插入顺序排序的字符串,它非常灵活,支持在两端插入、弹出数据,可以充当栈和队列的角色。> LPUSH fruit apple(integer) 1> RPUSH fruit banana(integer)...【详细内容】
2021-09-17  深夜敲代码    Tags:Redis   点击:(54)  评论:(0)  加入收藏
Redis持久化意义 是做灾难恢复,数据恢复,也可以归类到高可用的一个环节里面去,比如你的redis整个挂了,然后redis就不可用了,你要做的事情是让redis变得可用,尽快变得可用 大量的请...【详细内容】
2021-08-12  小李说IT    Tags:Redis   点击:(77)  评论:(0)  加入收藏
当查询Redis中没有的数据时,该查询会下沉到数据库层,同时数据库层也没有该数据,当这种情况大量出现或被恶意攻击时,接口的访问全部透过Redis访问数据库,而数据库中也没有这些数据...【详细内容】
2021-07-30  随便t    Tags:缓存穿透   点击:(91)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条