①-简介
redis为了本身数据的安全和完整性,会把内存中的数据按照一定的方法同步到电脑的磁盘上面,这个过程被称为持久化操作;下次再次启动redis服务的时候,会把磁盘上面保存的数据重新的加载到内存里面。
常见的持久化方式有两种:
a. 基于快照的方式:redis会按照一定的周期把内存里面的数据同步到磁盘文件里面
b. 基于文件的追加方式:redis会把对redis数据造成更改的命令记录到日志文件里面,然后在一次重启的时候,执行一下日志文件里面对redis写的操作,达到数据的还原
②-基于快照的持久化
1.修改配置文件,设置快照的选项
vim /etc/redis/redis.conf
内容:开启基于快照方式的持久化周期
save 900 1 含义如果在900s内,对redis的key进行过一次操作,则会把内存里面的数据同步到磁盘文件
save 300 10 含义如果在300s内,对redis的key进行过十次操作,则会把内存里面的数据同步到磁盘文件
save 60 10000 含义如果在60s内,对redis的key进行过一万次操作,则会把内存里面的数据同步到磁盘文件
保存磁盘上的哪一个文件?如下 redis.conf
dbfilename dump.rdb
dir ./
demo
③-基于文件追加方式持久化
1.修改redis.conf 开启基于文件追加方式的持久化
appendonly yes //开启基于文件追加方式持久化操作
appendfilename //appendfile.aof 文件名称
备份文件的周期
#appendfsync always
appendfsync everysec
#appendfsync no
appendfsync always 代表的含义只要存在对redis数据造成更改的操作,都要记录到磁盘文件上
appendfsync everysec 代表的含义每1s中进行一次把对redis数据造成更改的操作,都记录到磁盘文件上
appendfsync no 代表的含义完全交给操作系统来完成,意思就是操作系统不繁忙的时候会把对redis进行数据造成更改的操作,都记录到磁盘文件上,这种操作最不可靠。
demo