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

                     RDB AOF
存储数据   

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

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

 持久化时间选择

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

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

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

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

 

 

 

 

posted @ 2018-05-16 15:26  小孑  阅读(1413)  评论(0编辑  收藏  举报