redis的介绍和使用(三)| 持久化方案

什么是持久化

Redis高性能的原因是将所有的数据都存储到了内存中,位于内存中的数据在机器重启之后就会全部丢失,所以为了使得redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘,这一过程就是持久化

Redis持久化的方案

Redis的持久化方案有两种

  • RDB持久化
  • AOF持久化

在redis中,两种方案可以单独使用,也可将二者结合在一起使用。

RDB持久化

优点:整个Redis数据库中只包含一个文件,对于文件备份而言非常完美!

缺点

  • 在数据还没有进行持久化之前,服务器如果宕机,这将造成没来得及写入磁盘的数据丢失
  • RDB内部是通过fork子进程来协助完成数据持久化工作的,因此当数据集较大时,可能会导致服务器停止服务几百毫秒甚至是一秒钟,这对于并发量大的系统是无法接受的

触发条件
在这里插入图片描述

  • 客户端执行save和bgsave命令会生成快照
  • 根据配置文件save m n规则进行自动快照
  • 主从复制时,从库全量复制同步主库数据,此时主库会执行bgsave命令进行快照
  • 客户端执行数据库清空命令FLUSHALL时,会触发快照
  • 客户端执行shutdown关闭redis时,会触发快照
RDB持久化的配置

windows下,配置文件名为redis.windows.conf。

常用配置项如下:

  • save m n ,配置快照触发规则,其中m表示秒,n表示key值最少改变次数,比如,save 800 2,就是说800秒内至少有2个key被改变则作一次快照。
  • dbfilename dump.rdb ,持久化存储数据库文件名,默认为dump.rdb
  • stop-writes-on-bgsave-error yes,yes代表当使用bgsave命令持久化出错时停止写RDB快照文件,no则相反
  • rdbcompression yes,在写入文件和读取文件时是否开启rdb文件检查、检查是否有损坏,如果在启动时检查发现损坏,则停止启动
  • dir “./”,配置文件存放目录
  • rdbchecksum yes,是否开启RDB压缩,该功能可以减少文件大小,节约磁盘空间

AOF持久化

为了降低redis故障而引起的数据丢失,redis提供了AOF(append only file)持久化,从字面意思上来说,就是将命令追加到文件。AOF可以将redis执行的每一条命令追加到磁盘文件中,在redis启动的时候优先选择从AOF文件中恢复数据。由于每次的写操作,redis都会记录到文件中,所以开启AOF持久化会对性能造成一定的影响。

AOF配置

默认情况下,redis是关闭aof持久化机制的,开启方案:
在这里插入图片描述
可以在redis.windows.conf配置文件中将appendonly no改为appendonly yes

配置持久化时机
在这里插入图片描述
在配置文件中修改appendfsync的值,always表示每执行一次更新命令,就持久化一次,everysec表示每秒钟持久化一次,no表示不持久化。


后续将介绍在java中如何使用redis

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值