redis数据的两种持久化方式对比
一.概念介绍 redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Apend Only File)。 RDB方式 RDB方式是一种快照式的持久化方法,将某一时刻的数据持久化到磁盘中。 •redis在进行数据持久化的过程中,会先将数据写入到一个临时文件中,待持久化过程都结束了,才会用这个临时文件替换上次持久化好的文件。正是这种特性,让我们可以随时来进行备份,因为快照文件总是完整可用的。 AOF方式 AOF方式是将执行过的写指令记录下来,在数据恢复时按照丛前到后的顺序再将指令执行一遍。 •AOF命令以redis协议追加保存每次写的操作到文件末尾.Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大.默认的AOF持久化策略是每秒钟fsync一次(fsync是指把缓存中的写指令记录到磁盘中),因为在这种情况下,redis仍然可以保持很好的处理性能,即使redis故障,也只会丢失最近1秒钟的数据。 二. 两种方式优缺点 1. RDB方式 •优点: 1.RDB是一个单一的紧凑文件,它保存了某个时间点得数据集,非常适用于数据集的备份,比如你可以在每个小时报保存一下过去24小时内的数据,同时每天保存过去30天的数据,这样即使出了问题你也可以根据需求恢复到不同版本的数据集. •缺点: 1.Redis意外宕机,可能会丢失几分钟的数据(取决于配置的save时间点)。RDB方式需要保存珍整个数据集,是一个比较繁重的工作,通常需要设置5分钟或者更久做一次完整的保存。 2. AOF方式 •优点 1.使用AOF 会让Redis数据更加耐久: 你可以使用不同的fsync策略:无fsync,每秒fsync,每次写的时候fsync.使用默认的每秒fsync策略,Redis的性能依然很好(fsync是由后台线程进行处理的,主线程会尽力处理客户端请求),一旦出现故障,你最多丢失1秒的数据. •缺点 1.对于相同的数据集来说,AOF 文件的体积通常要大于 RDB 文件的体积。 三. 配置方式 1. RDB配置方式 默认情况下,是快照rdb的持久化方式,将内存中的数据以快照的方式写入二进制文件中,默认的文件名是dump.rdb save 900 1 save 300 10 save 60 10000 以上是默认配置:900秒之内,如果超过1个key被修改,则发起快照保存; 这种方式不能完全保证数据持久化,因为是定时保存,所以当redis服务down掉,就会丢失一部分数据,而且数据量大,写操作多的情况下,会引起大量的磁盘IO操作,会影响性能。 所以,如果这两种方式同时开启,如果对数据进行恢复,不应该用rdb持久化方式对数据库进行恢复。 2. AOF 配置方式 使用aof做持久化,每一个写命令都通过write函数追加到appendonly.aof中.
参考资料:http://redis.io/topics/persistence (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server-2008 – 在单独的驱动器上存储SQL Server系统数
- sqlserver游标使用步骤示例(创建游标 关闭游标)
- SqlServer 存储过程 if else 两层判断 语句拼接
- 在SQL Server中使用SQL语句查询一个存储过程被其它所有的存
- 兼容SQLSERVER、Oracle、MYSQL、SQLITE的超级DBHelper
- sql – SELECT *语句中的列顺序 – 保证?
- mysql中一个普通ERROR 1135 (HY000)错误引发的血案
- 从SQL Server数据库中删除用户?
- sql-server – 在PowerShell中组装SSIS包
- sql-server-2008 – 在T-SQL中分解2列以上的表