Redis的持久化操作

本文详细介绍了Redis的两种持久化方式——RDB(基于快照)和AOF(追加持久化),讨论了它们的特点、使用场景以及在项目中的配合策略。Redis通常作为缓存,与MySQL配合时,其持久化设置可根据需求进行优化以提升性能。
摘要由CSDN通过智能技术生成

目录

一、Redis的持久化方式

1.RDB方式进行持久化

1.1 RDB的两种形式

        (a)自动快照:

        (b)手动快照

1.2.RDB的特点

1.3.RDB的使用情况

2.AOF方式进行持久化

2.1 AOF持久化

2.2 AOF重写机制

3.RDB和AOF使用情景


Redis虽然是缓存型数据库,但是它支持持久化操作

一、Redis的持久化方式

1.RDB方式进行持久化

通过快照的方式,将redis的内存结构记录到磁盘上面(记录的类型是二进制类型)

所以当redis服务停止后,再次启动redis就会去加载文件并且解析里面的数据,然后添加到内存当中

1.1 RDB的两种形式
        (a)自动快照:

当在指定的时间内key达到了某个数量的改变,那么就会触发自动快照

        (b)手动快照

1.前台快照(save):做快照需要一定的时间,在这个时间段中,如果客户端发送了命令过来,redis不会处理这个命令

2.后台快照(bgsave):启动一个线程去做快照,主线程处理客户端传过来的命令  (类似nginx的进程模型:master和work

1.2.RDB的特点

速度快(因为是redis的内存结构以二进制保存的)

数据可能会丢失(因为快照是以时间点拍摄的,所以在某个时间段的数据可能没有做快照)

所以会数据不安全

1.3.RDB的使用情况

当不在乎部分数据可能丢失的情况下可以用RDB,因为持久化速度快

2.AOF方式进行持久化

2.1 AOF持久化

每次会把对redis数据库的写命令写入到一个文件中,所以它的数据安全,每次都记录了写操作,但是正因为如此IO次数多,速度就慢

所以它的持久化就是在redis启动的时候会把所有命令再执行一遍

2.2 AOF重写机制

因为每一个写命令都会存到一个文件中,所以文件中的数据就会很多,存在很多无用数据,

所以就会保留下数据需要的最小集合

3.RDB和AOF使用情景

RDB和AOF都有着自己的特点,它们之间可以相辅相成,两个一起使用的时候,安全级别是最高的,在RDB和AOF都开启的情况下,优先会选择AOF

项目中一般都是通过redis做缓存,所以不怕redis中的数据丢失,因为在mysql做了持久化,所以这种情况下redis的持久化机制可以不必开启,这样redis的性能也就提升了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值