这篇文章主要介绍“Redis的持久化是什么意思”,在日常操作中,相信很多人在Redis的持久化是什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis的持久化是什么意思”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
持久化机制:
client redis[内存] ------> 内存数据 数据持久化--> 磁盘
redis 官方提供了两种不同的持久化方法将数据存储到硬盘里面分别是:
1、快照(Snapshot):保存这一时刻的数据状态(重新加载快照,实现数据的恢复)
1.1 特点:这种将某一时刻的所有数据都写入硬盘中,当然这也是redis 默认的 持久化方式,保存的文件是以 .rdb 形式结尾的文件,因此这种方式也称之为RDB 方式。
1.2、快照生成方式:
客户端方式:BGSAVE 和 SAVE 指令
服务器配置自动触发
#3.服务器配置方式:15分钟有一次写操作,保存快照。5分钟有一次写操作,保存快照。1分钟有一次写操作,保存快照。;配置文件中存在任意一种配置,都会触发快照
快照可能会丢失某一时刻的数据:如,刚吧一个时刻的数据保存快照,又进来新的两条数据,但是还没有到下一次保存快照的时间或者条件,就会丢失这次的数据。
2、AOF(Append Only File) 只读追加日志文件:将所有redis 写命令记录到日志文件中
配置AOf 频率方式:在配置文件中,修改配置:appendfsync everysec
3、AOF 文件的重写
3.1、AOF 带来的问题
AOF 的方式也同时带来可另外一个问题,持久化文件会变得越来越大,例如我们用 incr test 命令 100次,文件中必须保存全部的100条命令,其实有99条都是多余的。因为要恢复数据库的状态其实文件中保存一条set 命令就够了,为了压缩aof的持久化文件,redis提供了 AOF 重写机制。
解释:一开始AOF文件大小设置为32M,当文件大小大于64M(也就是相当于原文件大小的一倍),促发重写机制,文件大小变为了20M,当文件大小又变成了40M时,重新促发重写机制。
4、重写原理
注意:重写aof 文件的操作,并没有读取旧的 aof 文件,而是将整个内存中的数据库内容用命令的方式重写了一个新的 aof 文件,替换原有的文件这点 和快照有点类似。
到此,关于“Redis的持久化是什么意思”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。