Redis持久化(RDB+AOF)与容灾备份
2017-11-15 19:48
791 查看
Redis持久化配置分为3种:第一种:不做持久化,做为纯内存数据库来使用,Redis关闭重启后恢复白板一张,数据全部丢失。第二种:RDB,将Reids在内存中数据快照定时dump到磁盘上,在 Redis 重启动时,RDB程序可以通过载入 RDB文件来还原数据库的状态。
配置如下:save 300 10 #在300秒(5分钟)之后,如果至少有10个key发生变化,则dump内存快照。第三种:AOF(append only file),将Reids的写入命令以协议文本的方式追加到磁盘文件。
Redis目前支持三种 AOF保存模式,它们分别是:1. AOF_FSYNC_NO:不保存。2. AOF_FSYNC_EVERYSEC:每一秒钟保存一次。3. AOF_FSYNC_ALWAYS:每执行一个命令保存一次AOF对数据的恢复是需要执行协议里的命令的,并不像RDB那样直接可用。AOF会通过rewrite来合并命令处理结果,压缩存储资源。 RDB的优缺点:优点:1,Redis备份只包括一个文件,一旦出现故障很容易恢复。 2,备份操作是fork出来的子进程在处理的,不会影响到服务进程,性能最大化。 3,相对于AOF相同数据集启动效率更高。缺点:1,备份非及时性,出现灾难必定会引起较长时间段数据的丢失。 2,备份文件是人工不可读的二进制格式。 AOF的优缺点:优点:1,更高的数据安全,保证数据灾难时丢失的数据最少。 2,备份文件是人工可读的。缺点:1,相同数据的数据集,AOF的文件要大于RDB的文件,恢复速率也低于RDB 2,备份时运行效率也低于RDB(没办法,可靠性与效率本来就是一个平衡) RDB与AOF的策略选择:主要根据自己的应用场景来分析,在效率和可用性之间做选择,愿意牺牲一些性能换取数据的高可用,还是愿意丢失一些数据换取性能的提高。 Redis持久化的配置在./redis-server XXX.conf这个XXX文件中设置,Redis自带的redis.conf中里有配置的详细说明。
在架构良好的环境中,master通常使用AOF,slave使用snapshot,主要原因是master需要首先确保数据完整性,它作为数据备份的第一选择;slave提供只读服务(目前slave只能提供读取服务),它的主要目的就是快速响应客户端read请求;但是如果你的redis运行在网络稳定性差/物理环境糟糕情况下,建议你master和slave均采取AOF,这个在master和slave角色切换时,可以减少“人工数据备份”/“人工引导数据恢复”的时间成本;如果你的环境一切非常良好,且服务需要接收密集性的write操作,那么建议master采取snapshot,而slave采用AOF。
配置如下:save 300 10 #在300秒(5分钟)之后,如果至少有10个key发生变化,则dump内存快照。第三种:AOF(append only file),将Reids的写入命令以协议文本的方式追加到磁盘文件。
Redis目前支持三种 AOF保存模式,它们分别是:1. AOF_FSYNC_NO:不保存。2. AOF_FSYNC_EVERYSEC:每一秒钟保存一次。3. AOF_FSYNC_ALWAYS:每执行一个命令保存一次AOF对数据的恢复是需要执行协议里的命令的,并不像RDB那样直接可用。AOF会通过rewrite来合并命令处理结果,压缩存储资源。 RDB的优缺点:优点:1,Redis备份只包括一个文件,一旦出现故障很容易恢复。 2,备份操作是fork出来的子进程在处理的,不会影响到服务进程,性能最大化。 3,相对于AOF相同数据集启动效率更高。缺点:1,备份非及时性,出现灾难必定会引起较长时间段数据的丢失。 2,备份文件是人工不可读的二进制格式。 AOF的优缺点:优点:1,更高的数据安全,保证数据灾难时丢失的数据最少。 2,备份文件是人工可读的。缺点:1,相同数据的数据集,AOF的文件要大于RDB的文件,恢复速率也低于RDB 2,备份时运行效率也低于RDB(没办法,可靠性与效率本来就是一个平衡) RDB与AOF的策略选择:主要根据自己的应用场景来分析,在效率和可用性之间做选择,愿意牺牲一些性能换取数据的高可用,还是愿意丢失一些数据换取性能的提高。 Redis持久化的配置在./redis-server XXX.conf这个XXX文件中设置,Redis自带的redis.conf中里有配置的详细说明。
在架构良好的环境中,master通常使用AOF,slave使用snapshot,主要原因是master需要首先确保数据完整性,它作为数据备份的第一选择;slave提供只读服务(目前slave只能提供读取服务),它的主要目的就是快速响应客户端read请求;但是如果你的redis运行在网络稳定性差/物理环境糟糕情况下,建议你master和slave均采取AOF,这个在master和slave角色切换时,可以减少“人工数据备份”/“人工引导数据恢复”的时间成本;如果你的环境一切非常良好,且服务需要接收密集性的write操作,那么建议master采取snapshot,而slave采用AOF。
相关文章推荐
- Redis支持的两种持久化备份方式(RDB & AOF)
- redis学习--的持久化数据备份(RDB和AOF)
- redis笔记之两种持久化备份方式(RDB & AOF)
- redis的持久化方式 RDB和AOF
- redis持久化RDB和AOF
- Redis持久化————AOF与RDB模式
- Redis持久化之rdb&aof
- Redis 持久化之RDB和AOF
- Redis持久化之RDB与AOF
- Redis持久化----RDB和AOF 的区别
- redis持久化RDB和AOF
- redis 持久化详解,RDB和AOF是什么?他们优缺点是什么?运行流程是什么?
- redis 存储数据结构及持久化方式--rdb 、aof
- REDIS持久化RDB和AOF
- Redis持久化方式RDB与AOF详解
- redis持久化 RDB 和 AOF对比 redis容灾备份
- redis持久化RDB和AOF
- redis学习-持久化存储rdb和aof的比较
- redis持久化RDB和AOF
- redis的持久化RDB和AOF