redis持久化

1.redis持久化

  1. 什么是持久化?

把内存中的数据持久化到磁盘。这个过程就是持久化。 当redis启动时会从磁盘上读取数据并加载到内存。

  1. 持久化的好处

使redis宕机后数据不会丢失

  1. redis持久化的方式
  1. RDB: 以快照的方式进行持久化。 在一定时间间隔内进行快照。把数据进行保存到磁盘。
  2. AOF: 会把每次对redis的写操作命令追加到一个日志尾,当redis启动时则把该日志中的命令执行一遍.

2.RDB的持久化方式

  1. 什么时候会触发RDB
//默认dump.rdb
1. save命令
2. bgsave命令
3. 配置redis配置文件。
  1. save和bgsave的区别

    该命令会阻塞当前Redis服务器,执行save命令期间,Redis不能处理其他命令,直到RDB过程完成为止。具体流程如下:

在这里插入图片描述
执行完成时候如果存在老的RDB文件,就把新的替代掉旧的。我们的客户端可能都是几万或者是几十万,这种方式显然不可取。

bgsave执行该命令时,Redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。具体流程如下:
在这里插入图片描述3. 通过配置文件来触发RDB ----- bgsave命令
在这里插入图片描述4. 恢复数据
可以把dump.rdb放入到redis启动目录下。 当redis再次被启动时则会加载该数据。

  1. rdb持久化方式的优缺点
    优点:
1)RDB文件紧凑,全量备份,非常适合用于进行备份和灾难恢复。
(2)bgsave生成RDB文件的时候,redis主进程会fork()一个子进程来处理所有保存工作,主进程不需要进行任何磁盘IO操作。
(3)RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。

缺点:

快照持久化期间修改的数据不会被保存,可能丢失数据。数据完整性比较差。

3.AOF持久化方式

提供一种更加高效的方式AOF,工作机制很简单,redis会将每一个收到的写命令都通过write函数追加到文件中。通俗的理解就是日志记录。

在这里插入图片描述AOF默认是没有开启。需要配置手动开启。

在这里插入图片描述
什么时候会触发AOF

在这里插入图片描述当进行写操作则会把写的命令放入appendonly.aof

AOF的优缺点:
1.优点

1)AOF可以更好的保护数据不丢失,一般AOF会每隔1秒,通过一个后台线程执行一次fsync操作,最多丢失1秒钟的数据。
2)AOF日志文件没有任何磁盘寻址的开销,写入性能非常高,文件不容易破损。
3)AOF日志文件即使过大的时候,出现后台重写操作,也不会影响客户端的读写。

2.缺点:

1)对于同一份数据来说,AOF日志文件通常比RDB数据快照文件更大.
2) 恢复数据时时间要比快照模式慢很多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值