redis两种持久化方式的区别是什么
Redis  /  管理员 发布于 7年前   367
redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF(append only file)持久化(原理是将Reids的操作日志以追加的方式写入文件)。
RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。(推荐学习:Redis视频教程)
AOF持久化以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。
RDB持久化和AOF持久化的区别:
1、存储数据
RDB持久化保存键空间的所有键值对(包括过期字典中的数据),并以二进制形式保存,符合rdb文件规范,根据不同数据类型会有不同处理。
AOF持久化保存redis服务器所执行的所有写命令来记录数据库状态,在写入之前命令存储在aof_buf缓冲区。
2、持久化时间选择
RDB持久化通过conf的save选项设置持久化行为(单位时间内的修改次数)。
AOF持久化通过conf的appendfsync选项设置持久化行为(单位时间内的修改次数)。
3、数据还原
RDB持久化:服务器载入rdb文件,阻塞线程,在载入完成之前不接受任何命令。
AOF持久化:服务器创建不带网络连接的伪客户端,读取aof文件中的所有命令并执行(redis服务开启aof持久化在服务器启动时会选择aof文件恢复数据库状态)
4、过期键
RDB持久化在写入或读取时会忽略过期键
AOF持久化不会忽略过期键,在键被惰性删除或定期删除时向aof文件追加一条删除命令
5、文件大小
RDB持久化随着存储数据量的变化而变化(根据不同数据类型有不同的数据压缩优化)
AOF持久化随着执行命令的增加而增加(通过aof重写进行优化)
更多redis相关技术知识,请访问Redis使用入门教程栏目学习!
以上就是redis两种持久化方式的区别是什么的详细内容,更多请关注其它相关文章!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号