Redis的备份方式主要有两种:RDB和AOF.
RDB:主进程fork出子进程定期将数据以快照形式保存,对性能影响很小。同时可以按照时间保存多份快照,是恢复的速度也比AOF方式快的多。
缺点是当服务crash时,丢失的数据一般会比较多,因为是周期性的备份,同时对于单核CPU而言,fork出来的子进程在进行备份时会占用较多CPU,短时影响客户端请求,大约1s左右。
AOF:和RDB不同,AOF记录的是实际的操作,每个请求都会记录到日志文件中。这种方式默认是关闭的。并且有三种配置方式:no,always,everysec。no写入缓冲区默认30s同步一次,丢失比较大,always写入缓存后会立马同步到文件,同一时间和redis主进程抢占io资源,导致其性能下降,效率低,everysec每秒一次,平衡了记录的周期和数据丢失的情况,比较推荐。
网友评论