现在有两台电脑,分别是A,B,现在我要把A电脑上的redis的数据迁移到B电脑上,B电脑上是没有安装redis的
1.找到A电脑的redis的版本
1.先启动A电脑的redis,一般来说,都是直接在linux的控制台输入:redis-server,就可以启动redis服务了,开启成功之后,再开一个窗口,使用 redis-cli -h 127.0.0.1 就可以连上本机的redis了
2. 如果 redis-server 启动不了,那就要进入到redis的安装目录,来指定配置文件启动:redis-server redis.conf
3.如果redis的安装目录的安装目录也忘记了,可以使用下面的方法来寻找:
命令:whereis redis-server find / -name redis-server find / -name redis.conf
一般来说,是使用:find / -name redis.conf 这个命令
4.使用 redis-cli -h 127.0.0.1 连上redis之后,使用:redis-server --version 来看当前redis的版本,然后要在B电脑上使用这个版本的redis,要保证两个redis的版本统一,避免产生很多奇奇怪怪的问题,我A电脑的redis版本是 3.0.7 版本
5.你也可以使用 INFO memory 命令来看当前redis的内存使用情况 :
可以看到,我这个reids内存使用了差不多330多M
6.使用 save 命令来产生快照文件,这个快照文件默认会在redis的根目录下,跟redis.conf 文件同级,名称叫:dump.rdb
这个文件就是当前reids的数据文件
2.安装redis
在第一步可以看到,我要在B电脑上安装3.0.7版本的reids
1.下载reids:wget http://download.redis.io/releases/redis-3.0.7.tar.gz 使用这个命令会自动把指定版本的reids下载到当前目录
2.解压:tar xzf redis-3.0.7.tar.gz
3.然后进入解压后的Redis目录:cd redis-3.0.7
4.编译跟安装:make,make install(以此执行这两个命令)
5.然后启动:redis-server redis.conf
6.redis启动之后,新开一个窗口,使用 redis-cli -h 127.0.0.1 来连接上redis,连接成功之后,使用 set a b 来设置一个值,然后用 get a 来获取对应的值,用这两个命令来判断这个reids是否正常工作
7.在判断B电脑的redis可以正常工作之后,就把这个redis给停了先,一定要先停了redis,要不然他有可能会自动生成rdb文件,使用 SHUTDOWN 命令来停止redis的服务,停止了之后,把A电脑生成的rdb文件,放到B电脑的redis的根目录里面,名称一样是叫 dump.rdb,就复制粘贴过来就行了,然后使用 redis-server redis.conf 启动,redis会自动读取目录下的dump.rdb文件并恢复数据,启动成功之后,我们用 SCAN 0 COUNT 10 命令来查看10个key,判断是否有数据恢复
3.注意事项
1. B电脑的redis在恢复数据的时候,一定要先停redis服务,然后再把rdb文件放到根目录下,如果没有停止redis,就把要恢复的rdb文件放到根目录下,那么正在运行的redis他有可能会自己生成rdb文件,这个文件会覆盖到要恢复的rdb文件。
2. 如果没有恢复数据成功,需要看下复制的 RDB 文件与 B 电脑上 Redis 配置文件中
dir
指令指定的目录是否匹配,因为在默认情况下,他指定的目录就是redis的根目录,还要看下默认恢复数据的rdb文件名是不是叫dump.rdb