redis不重启,切换RDB备份到AOF备份

确保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的配置将丢失

上一篇:Discuz3.2 新用户插入数据库SQL


下一篇:浅谈java中replace()和replaceAll()的区别