首页 > 数据库 >redis迁移

redis迁移

时间:2023-06-20 16:44:28浏览次数:50  
标签:aof redis 202.102 rdb 221.11 迁移 root

redis的几种数据导入导出方式【转】

 

环境说明:
202.102.221.11 redis源实例
202.102.221.12 redis目标实例
202.102.221.13 任意linux系统

一、redis-dump方式

  1.安装redis-dump工具

[[email protected] ~]# yum install ruby rubygems ruby-devel -y
# 更改gem源
[[email protected] ~]# gem sources -a http://ruby.taobao.org
Error fetching http://ruby.taobao.org:
bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)
  访问http://ruby.taobao.org,公告通知镜像维护站点已迁往Ruby China镜像

#gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
[[email protected] ~]# gem sources --add http://gems.ruby-china.org/ --remove http://rubygems.org/
http://gems.ruby-china.org/ added to sources
source http://rubygems.org/ not present in cache
[[email protected] ~]# gem sources -l
*** CURRENT SOURCES ***

http://gems.ruby-china.org/
[[email protected] ~]# gem install redis-dump -V

  2.redis-dump导出

[[email protected] ~]# redis-dump -u :[email protected]:6379 > 202.102.221.11.json

  3.redis-load导入

[[email protected] ~]# cat 202.102.221.11.json | redis-load -u :[email protected]:6379

二、aof导入方式

  1.源实例生成aof数据

# 清空上文目标实例全部数据
[[email protected] ~]# redis-cli -h 202.102.221.12 -a password flushall
OK
# 源实例开启aof功能,将在dir目录下生成appendonly.aof文件
[[email protected] ~]# redis-cli -h 202.102.221.11 -a password config set appendonly yes
OK

  2.目标实例导入aof数据

# 假设appendonly.aof就在当前路径下
[[email protected] ~]# redis-cli -h 202.102.221.12 -a password --pipe < appendonly.aof
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 5
# 源实例关闭aof功能
[[email protected] ~]# redis-cli -h 202.102.221.11 -a password config set appendonly no
OK

三、rdb文件迁移方式

(1)关闭要迁移到的服务器的redis的aof日志功能(我的要迁移到的是本机的redis6380.conf)

vim redis6380.conf,将appendonly yes修改为appendonly no

(2)我们先看一下当前redis的数据,并将数据用save命令固化到rdb文件中,我的rdb文件为/var/rdb/dump6379.rdb

(3)杀掉当前redis的进程,否则下一步的复制rdb文件,rdb处于打开的状态,复制的文件,会占用同样的句柄

(4)复制当前redis的rdb文件,名字为你要迁移的redis的rdb文件名(我的要迁移的redis的文件名为 /var/rdb/dump6380.rdb),记住,一定要杀掉当前redis的进程,还有关闭要迁移的服务器的aof功能(如果不关闭aof,默认用aof文件来恢复数据)

(5)启动6380的redis,我们会发现,6380多出了name的数据,这个数据,就是6379固化到rdb的数据

以上就是在不同的redis之间进行rdb的数据迁移,思路就是,复制rdb文件,然后让要迁移的redis加载这个rdb文件就ok了

四、源实例db0迁移至目标实例db1

[[email protected] ~]# cat redis_mv.sh
#!/bin/bash
redis-cli -h 202.102.221.11 -p 6379 -a password -n 0 keys "*" | while read key
do
redis-cli -h 202.102.221.11 -p 6379 -a password -n 0 --raw dump $key | perl -pe 'chomp if eof' | redis-cli -h 202.102.221.12 -p 6379 -a password -n 1 -x restore $key 0
echo "migrate key $key"
done

标签:aof,redis,202.102,rdb,221.11,迁移,root
From: https://www.cnblogs.com/xy51/p/17494026.html

相关文章

  • redis学习十一:数据类型命令及落地运用 (GEO)
    redis之地理空间GEO1.geoaddkeylongitudelatitude名称;zrangekey0-1查看如果出现乱码问题登录时候加上--raw 2.geoposkey名称获取对应经纬度 3.用geohash表示 4.geodist距离多少km/m 5.georadius这个尚硅谷的杨哥写的这个比较详细,直接截图照搬了。 6......
  • MongoDB批量导入Redis优化迭代笔记
    背景统计最近五天所有content信息的正文字节数(正文字段占用较多),然后根据这个大小,推送存在redis要配置多少的内存。统计方法1.在mongodb中查询db.content_.aggregate([{$match:{updatetime:{$gte:1686134400000,//对应日期"2023-06-07T00:00:00Z"的......
  • 使用docker-compose同时启动MySQL和Redis
    环境查看安装docker和docker-composeapt-yinstalldocker.iodocker-compose设置docker-compose配置文件root@iZ2zebcd9hncu1371fetliZ:/data/docker-compose#pwd/data/docker-composeroot@iZ2zebcd9hncu1371fetliZ:/data/docker-compose#catdocker-compose.ymlvers......
  • 缓存方案之Redis
    Redis简介  Redis是RemoteDictionaryServer(Redis)的缩写,或许光听名字你就能猜出它大概是做什么的。不错,它是一个由SalvatoreSanfilippo编写的key-value存储系统,是一个使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型的Key-Value数据库,并提供多种......
  • 1.redis常见数据类型-字符串String、列表List、集合Set、Hash哈希、Zset有序集合
    背景:这里说的数据类型是value的数据类型,key的类型都是字符串。命令不区分大小写,而key的值是区分大小写的 help@+数据类型会出现命令提示比如help@string,help@list常见命令:keys*查看当前库所有key(匹配:keys*1)existskey判断某个key是否存在typekey查看你的......
  • lettuce+redisTemplate实现redis单击和集群的整合
    lettuce+redisTemplate实现redis单击和集群的整合Springboot整合redis是非常方便的,大致包含如下四部分pomstart相关jar的引入properties/yaml基础配置信息configbean的initbean的注入及使用如果遇到网上的自动装配的实例直接跳过吧,哪怕再小的公司,密码也会加密处理......
  • Windows环境下Redis的安装以及Redis Desktop Manager的下载安装
    ————本文介绍了Windows环境下Redis的安装,以及Redis数据库管理工具RedisDesktopManager的下载和安装目录|一、Windows环境下安装Redis||--|--||二、RedisDesktopManager的下载及安装|一、Windows环境下安装Redis下载地址:https://github.com/tporadowski/redis/......
  • 2023-06-19:讲一讲Redis分布式锁的实现?
    2023-06-19:讲一讲Redis分布式锁的实现?答案2023-06-19:Redis分布式锁最简单的实现要实现分布式锁,确实需要使用具备互斥性的Redis操作。其中一种常用的方式是使用SETNX命令,该命令表示"SETifNotExists",即只有在key不存在时才设置其值,否则不进行任何操作。通过这种方式,两个客户端......
  • 2023-06-19:讲一讲Redis分布式锁的实现?
    2023-06-19:讲一讲Redis分布式锁的实现?答案2023-06-19:Redis分布式锁最简单的实现要实现分布式锁,确实需要使用具备互斥性的Redis操作。其中一种常用的方式是使用SETNX命令,该命令表示"SETifNotExists",即只有在key不存在时才设置其值,否则不进行任何操作。通过这种方式,两个客户端进程......
  • 数据库新闻速递 明白3中主流的数据迁移方法 (译)
    头还是介绍一下群,如果感兴趣polardb,mongodb,mysql,postgresql,redis等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系liuaustin3,在新加的朋友会分到2群(共830人左右1+2)基于应用程序的、基于文件的和基于块的迁移都有各自的优点和适用场......