当前位置:首页 > 数据库 > redis > 正文内容

redis持久化

下辈子别做运维2022-11-04 16:42:04redis


redis的持久化是指通过设置策略,将redis的数据定期保存到本地磁盘中,以防止数据丢失,方式分为AOF及RDB两种

AOF

概念:将redis的所有写指令保存到本地磁盘上的AOF文件中,数据恢复时,只需将之前所有的写指令重新运行一遍


参数配置:

vim /opt/redis/16379.conf 

#开启AOF
appendonly yes
#AOF备份文件名称,默认为appendonly.aof
appendfilename "appendonly.aof"

#设置同步频率,有everysec、always、no三个选项
appendfsync everysec

#配置在执行BGSAVE命令或者BGREWRITEAOF命令时,服务器也不会停止对AOF文件的同步,防止在备份时
#因服务器异常而导致部分数据无法及时备份,默认为no,关闭
no-appendfsync-on-rewrite no

#设置BGREWRITEAOF执行方式的参数
#表示aof文件大于64MB,大于上一次重写文件大小的100%时,重新执行BGREWRITEAOF,同时满足这两点才会执行
#默认为auto-aof-rewrite-percentage 100;auto-aof-rewrite-min-size 64mb
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

参数解释:


appendfsync表示设置同步频率,有everysec、always、no三个选项

always:每个redis的写命令都同步写入到本地磁盘中,这样会降低redis同步的速度

everysync:每秒对redis中的写命令执行一次同步,如果redis发生崩溃,那么最多也只是丧丢失一秒钟内的数据,可以做到数据损失最小。

no:不开启自动同步,由用户决定何时进行同步

为保证redis同步的性能,建议设置为everysync


no-appendfsync-on-rewrite设置为no,表示在执行BGSAVE或BGREWRITEAOF命令时,服务器也不会停止对AOF文件的同步,防止在备份时因服务器异常而导致部分数据无法及时备份

BGSAVE表示在后台操作将数据通过异步的形式保存到本地磁盘

BGREWRITEAOF表示通过异步的方式执行AOF的重写操作,重写会创建一个当前AOF文件的体积优化版本,旧的AOF文件在BGREWRITEAOF执行成功前不会被修改,因此即使BGREWRITEAOF执行失败也不是导致本地备份的数据丢失


auto-aof-rewrite-percentage和auto-aof-rewrite-min-size分别设置为100和64mb,表示生成的aof文件达到64MB,且大于上一次重写后AOF文件大小的100%时,会重新执行BGREWRITEAOF,同时满足这两点才会执行AOF重写操作


RDB

概念:将redis的所有库生成一个快照文件,定期的保存到本地磁盘中,恢复时只需恢复这个快照文件即可;也可以将快照文件移植到其他部署redis的服务器上进行redis数据的恢复,相当于进行迁移


参数配置:

vim /opt/redis/16379.conf 

#表示900秒内有1次写入,那么触发RDB
save 900 1       

#当BGSAVE出错时,是否停止redis是否停止接收数据,以便发现RDB出现错误,默认为yes,开启这项功能
stop-writes-on-bgsave-error yes  

#设置为yes,启用压缩配置
rdbcompression yes

#生成的RDB文件名称
dbfilename dump.rdb

#RDB文件保存目录,开启AOF也是保存在该目录下,要提前建立
dir /opt/redis/backup


两种持久化方式可以都打开,也可以根据实际情况只开启一种,但需要注意,如果在进行数据恢复时,只能是一种持久化方式生效,如在恢复RDB文件时,需要将AOF持久化方式关闭,否则恢复会失败




扫描二维码推送至手机访问。

版权声明:本文由个人博客发布,如需转载请注明出处。

本文链接:https://opszzfwordpress.club/post/112.html

分享给朋友:

“redis持久化” 的相关文章

redis部署-源码

redis部署-源码

1、环境准备下载redis安装包版本:redis-5.0.14地址:https://download...

redis高可用实现

redis高可用实现

通过配置redis主从复制和sentinel进行故障自动切换,来保证redis的高可用redis主从...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。