Redis 持久化介绍

Redis持久化详解
本文深入解析Redis的两种持久化方式:RDB和AOF。RDB通过快照存储数据,适用于对性能要求高的场景;AOF则记录所有写操作,确保数据安全。两者各有优缺点,可根据实际需求选择。

持久化介绍

Redis 的数据都存放在内存中,如果没有配置持久化,redis 重启后数据就全丢失,于是需要开启 redis 的持久化功能,将数据保存到磁盘上,当 redis 重启后,可以从磁盘中恢复数据。

                         

Redis持久化方式:

  1. RDB持久化:方式能够在指定的时间间隔对你的数据进行快照存储。
  2. AOF持久化方式:记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据。

RDB方式:

客户端直接通过命令BGSAVE或者SAVE来创建一个内存快照

  •     BGSAVE调用fork来创建一个子进程,子进程负责将快照写入磁盘,而父进程仍然继续处理命令。
  •     SAVE执行SAVE命令过程中,不再响应其他命令(会阻塞其他命令)。
    在redis.conf中调整save配置选项,当在规定的时间内,Redis发生了写操作的个数满足条件会出发发生BGSAVE命令:
#900秒之内至少一次写操作
save 900 1
#300秒之内至少发生10次写操作
save 300 10
#60秒之内发生至少10000次
save 60 10000

RDB 优点和缺点:

优点:对性能影响最小(以异步的形式保存信息)、RDB文件进行数据恢复比使用AOF要快很多。

缺点:同步时丢失数据(因为根据时间间隔和发生写操作的次数保存)、如果数据集非常大且CPU不够强(比如单核CPU),Redis在fork子进程时可能会消耗相对较长的时间,影响Redis对外提供服务的能力。

 

AOF 持久化方式:

开启AOF持久化,redis.conf中调整,默认是不开启的。

appendonly yes

#AOF策略调整
#每次有数据修改发生时都会写入AOF文件
appendfsync always

#每秒钟同步一次,该策略为AOF的缺省策略
appendfsyn everysec

#从不同步。高效但是数据不会被AOF持久化
appendfsync no

 

AOF 优点和缺点:

优点:最安全、容灾处理安全、易读,可修改

缺点:文件体积大(每次命令处理都保存)、性能消耗比RDB高(执行频次高)、数据回复速度比RDB慢

 

模拟RBD持久化快照保存:

在redis.conf中修改RDB快照的间隔时间和次数,这里修改的是3秒有2次操作就会保存一次快照,实际是redis每隔3秒就会去检查操作次数,如果大于2则会操作一次BGSAVE。

 

3秒内快速操作Redis

 

日志打印,BGSAVE调用fork来创建一个子进程子进程负责将快照写入磁盘,这里显示子进程号:16310

 

RDB快照保存缺点演示:

操作一次Redis,这里显示b已经被保存

 操作一次Redis服务挂掉,然后重启服务:

                 

 

重新获取b,数据丢失,因为RDB是根据时间间隔和发生写操作的次数保存,这里的b还没有保存就被kill掉了,重启后redis重新加载RDB文件,里面没有b的保存数据。

                   

如果Redis是正常关闭,不是被kill掉,则会在退出的时候进行一次RDB快照保存。 

 

模拟AOF持久化保存:

在redis.conf中打开aof持久化保存配置,配置每秒同步一次数据到aof文件。

执行操作:

 

打开保存数据持久化的文件aof,这里的数据我们是可以看明白的,并且可以去修改他,kill -9 掉程序,重启之后仍然可以获取到值

              

 

MATLAB主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性内容概要:本文主要介绍了一种在MATLAB环境下实现的主动噪声和振动控制算法,该算法针对较大的次级路径变化具有较强的鲁棒性。文中详细阐述了算法的设计原理与实现方法,重点解决了传统控制系统中因次级路径动态变化导致性能下降的问题。通过引入自适应机制和鲁棒控制策略,提升了系统在复杂环境下的稳定性和控制精度,适用于需要高精度噪声与振动抑制的实际工程场景。此外,文档还列举了多个MATLAB仿真实例及相关科研技术服务内容,涵盖信号处理、智能优化、机器学习等多个交叉领域。; 适合人群:具备一定MATLAB编程基础和控制系统理论知识的科研人员及工程技术人员,尤其适合从事噪声与振动控制、信号处理、自动化等相关领域的研究生和工程师。; 使用场景及目标:①应用于汽车、航空航天、精密仪器等对噪声和振动敏感的工业领域;②用于提升现有主动控制系统对参数变化的适应能力;③为相关科研项目提供算法验证与仿真平台支持; 阅读建议:建议读者结合提供的MATLAB代码进行仿真实验,深入理解算法在不同次级路径条件下的响应特性,并可通过调整控制参数进一步探究其鲁棒性边界。同时可参考文档中列出的相关技术案例拓展应用场景。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值