确保redis版本在2.2以上
[root@pyyuc /data ::]#redis-server -v
Redis server v=4.0. sha=: malloc=jemalloc-4.0. bits= build=64cb6afcf41664c
本文在redis4.0中,通过config set命令,达到不重启redis服务,从RDB持久化切换为AOF
实验环境准备
redis.conf服务端配置文件
daemonize yes
port
logfile /data//redis.log
dir /data/
dbfilename dbmp.rdb
save #rdb机制 每900秒 有1个修改记录
save #每300秒 10个修改记录
save #每60秒内 10000修改记录
启动redis服务端
redis-server redis.conf
登录redis-cli插入数据,手动持久化
127.0.0.1:> set name chaoge
OK
127.0.0.1:> set age
OK
127.0.0.1:> set addr shahe
OK
127.0.0.1:> save
OK
检查RDB文件
[root@pyyuc /data ::]#ls /
dbmp.rdb redis.log
备份这个rdb文件,保证数据安全
[root@pyyuc /data/ ::]#cp dbmp.rdb /opt/
执行命令,开启AOF持久化
127.0.0.1:> CONFIG set appendonly yes #开启AOF功能
OK
127.0.0.1:> CONFIG SET save "" #关闭RDB功能
OK
确保数据库的key数量正确
127.0.0.1:> keys *
) "addr"
) "age"
) "name"
确保插入新的key,AOF文件会记录
127.0.0.1:> set title golang
OK
此时RDB已经正确切换AOF,注意还得修改redis.conf添加AOF设置,不然重启后,通过config set的配置将丢失