redis不重启,切换RDB备份到AOF备份
确保redis版本在2.2以上
-
查看redis版本
redis-server -v
实验环境准备
-
本文是在redis4.0中,通过config set命令,达到不重启redis服务,从RDB持久化切换到AOF
# 启动redis服务端,通过命令切换到aof模式 config set appendonly yes config set save ''
- redis.conf服务端配置
# 编辑redis-6379.conf
vim redis-6379.conf
# 写入内容
daemonize yes
port 6379
logfile /data/6379/redis.log
dir /data/6379
dbfilename dbmp.rdb
save 900 1 #rdb机制 每900秒 有1个修改记录
save 300 10 #每300秒 10个修改记录
save 60 10000 #每60秒内 10000修改记录
注意:写入文件时需要备注,不明白写入内容请查看https://www.cnblogs.com/jeffen/p/6077661.html
或者百度redis.conf配置文件.
-
启动redis服务端
redis-server redis.conf
-
登录redis-cli插入数据,手动持久化
127.0.0.1:6379> set name chaoge OK 127.0.0.1:6379> set age 18 OK 127.0.0.1:6379> set addr shahe OK 127.0.0.1:6379> save OK # save命令就是保存到dbmp.rdb中
-
检查rdb文件
ls /data/6379/
-
备份这点rdb文件,保证数据安全
cp dbmp.rdb /opt/
-
执行命令,开启AOF持久化
CONFIG set appendonly yes #开启AOF功能 CONFIG SET save "" #关闭RDB功能
-
确保数据库key的数量正确
登录客户端 redis-cli -p 6379 # 查看 keys *
-
确保插入新的key,aof会记录
set title golang
此时RDB已经正确切换AOF,注意还得修改redis.conf添加AOF设置,不然重启后,通过config set的配置将丢失