redis RDB和AOF两种持久化的区别


                     RDB AOF
存储数据   

保存键空间的所有键值对(包括过期字典中的数据),并以二进制形式保存,符合rdb文件规范,根据不同数据类型会有不同处理

 保存redis服务器所执行的所有写命令来记录数据库状态,在写入之前命令存储在aof_buf缓冲区。

 持久化时间选择

 通过conf的save选项设置持久化行为(单位时间内的修改次数)。

 通过conf的appendfsync选项设置持久化行为
数据还原

服务器载入rdb文件,阻塞线程,在载入完成之前不接受任何命令。

服务器创建不带网络连接的伪客户端,读取aof文件中的所有命令并执行(redis服务开启aof持久化在服务器启动时会选择aof文件恢复数据库状态)
 过期键  在写入或读取时会忽略过期键  不会忽略过期键,在键被惰性删除或定期删除时向aof文件追加一条删除命令
 文件大小  随着存储数据量的变化而变化(根据不同数据类型有不同的数据压缩优化)  随着执行命令的增加而增加(通过aof重写进行优化)
执行命令 SAVE和BGSAVE --

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM