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