标签:
一、RDB 持久化
描述:会在指定的时间间隔内将内存中的数据集快照写入磁盘。
工作机制:
优点:
缺点:
二、AOF 持久化(append-on file)
描述:快照并不是非常具有可持久性。如果电脑停机了,电源线断了,最近写入 Redis 的数据将会丢失。所以 AOF 是一个替代方案,是 Redis 的完全可持久性策略。
工作机制:在服务端记录每次收到的写操作,将会被追加到 AOF 中。在服务器启动时会根据这些操作重建原始数据集。
如何开启:
appendonly yes
三种同步方式的配置:
// 每次有数据修改发生时都会写入AOF文件 appendfsync always // 每秒钟同步一次,该策略为AOF的缺省策略 appendfsync everysec // 从不同步。高效但是数据不会被持久化 appendfsync no
优点:
缺点:
如何修复损坏的 AOF 文件,文件损坏后 Redis 就无法装载了,可以使用下面步骤解决这个问题
三、如何选择持久化机制
1). RDB
2). AOF
3). 可以完全禁止持久化。
4). RDB + AOF
我们该选谁:
通常来说,你应该同时使用这两种持久化方法。
如果你很关注你的数据,但是仍然可以接受灾难时有几分钟的数据丢失,你可以只单独使用 RDB。
有很多用户单独使用 AOF,但是我们并不鼓励这样,因为时常进行 RDB 快照非常方便于数据库备份,启动速度也较之快,还避免了 AOF 引擎的 bug。
四、如何从 RDB 切换到 AOF
第一个 CONFIG 命令开启 AOF。Redis 会阻塞以生成初始转储文件,然后打开文件准备写,开始追加写操作。
第二个 CONFIG 命令用于关闭快照持久化。这一步是可选的,如果你想同时开启这两种持久化方法。
重要:记得编辑你的 redis.conf 文件来开启 AOF,否则当你重启服务器时,你的配置修改将会丢失,服务器又会使用旧的配置。
标签:
原文地址:http://www.cnblogs.com/xmsx/p/5392799.html