Redis的持久化策略
Redis的持久化策略主要有两种,下面主要对每种策略的特点及应用简要总结。
○ RDB
§ RDB:是redis的默认持久化机制。相当于照快照。保存的不是数据,保存的是一种状态。20G数据----> 几kb快照
§ 优点:快照保存数据速度极快,还原数据速度极快;适用于灾难备份,复制其中的dump.rdb文件即可。
§ 缺点:小内存机器不适合使用。RDB机制符合要求就会照快照。(随时随地启动),会占用一部分系统资源(突然的,就是在将大文件压缩过程中,会突然占用一部分内存),很可能内存不足直接宕机。(宕机后,服务器会关闭,非正常关闭)
□ 服务器正常关闭时 照快照
□ Key满足一定条件,照快照
save 900 1 #每900秒(15分钟)至少有1个key发生变化,则dump内存快照。
save 300 10 #每300秒(5分钟)至少有10个key发生变化,则dump内存快照
save 60 10000 #每60秒(1分钟)至少有10000个key发生变化,则dump内存快照
§ 适用于:内存比较充裕的计算机。
○ AOF
§ 使用日志功能保存数据操作。默认AOF机制关闭的。
§ 只会保存导致key变化的语句,不会记数据,只记语句,当进行恢复时,将语句重新执行一遍即可。
§ AOF配置:
□ always #每次有数据修改发生时都会写入AOF文件
□ everysec #每秒钟同步一次,该策略为AOF的缺省策略
□ no #从不同步。高效但是数据不会被持久化
§ 优点:持续性占用极少量的内存资源,几kb的空间
§ 缺点:日志文件会特别大,不适用于灾难恢复;恢复效率远远低于RDB
§ 适用于:内存比较小的计算机