1.RDB优点
- RDB快照保存了某个时间点的数据,可以通过脚本执行bgsave或save自定义时间点备份 可以保留多个备份,出现问题可 以恢复到不同时间点,文件格式支持不少第三方工具作数据分析;
2.RDB可以最大化Redis的性能,父进程在保存RDB文件时只fork出一个子进程,然后子进程处理所有保存工作 父进程0操作;
3.RDB在大量数据,恢复速度比AOF快;
2.RDB缺点
1.不能实时保存数据,可能丢失自上一次执行RDB备份到当前内存数据;
RDB要保存整个数据集的状态,一般超过5分钟才保存一次RDB文件,如果故障,会丢失几分钟数据;
2.当数据量大的时候,父进程fork子进程进行保存至RDB文件时需要一点时间,长短取决于IO性能;
数据量大,fork()可能非常耗时,造成一定时间停止处理客户端,而若数据集巨大,并且CPU时间紧张,停止时间长达1 秒或者更久
3.RDB操作
手动备份RDB文件的脚本(脚本如下)
NUM=100
PASS=
for i in `seq $NUM`;do
redis-cli -h 127.0.0.1 -p 6380 -a "$PASS" --no-auth-warning set key${i} value${i}
echo "key${i} value${i} 写入完成"
done
echo "$NUM个key写入到Redis完成"
目前是6380的实例
执行后查看