Redis的持久化

1.什么是Redis持久化

      把内存中的数据持久化到磁盘。这个过程就是持久化。Redis持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复。

2. 持久化的优点

    Redis宕机后数据数据不会丢失。

3.Redis持久化的方式

分为RDB,AOF

①. RDB: 持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。即:以快照的方式进行持久化。 在一定时间间隔内进行快照。把数据进行保存到磁盘。 

②.AOF: 以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中的命令达到恢复数据的目的。AOF的主要作用是解决了数据持久化的实时性,目前已经是Redis持久化的主流方式。理解掌握好AOF持久化机制对我们兼顾数据安全性和性能非常有帮助。即:把每次对redis的写操作命令追加到一个日志尾,当redis启动时则把该日志中的命4令执行一遍

4. RDB持久化方式

①.什么时候触发RDB

   用save和bgsave命令手动出发,或者配置redis配置文件触发。

   使用redis配置来触发RDB:

 ②.RDB持久化方式的优缺点

    优点:RDB是一个紧凑压缩的二进制文件,代表Redis在某个时间点上的数据快照。非常适用于  备份,全量复制等场景。比如每6小时执行bgsave备份,并把RDB文件拷贝到远程机器或者文件系统中(如hdfs),用于灾难恢复。
Redis加载RDB恢复数据远远快于AOF的方式。

     缺点:RDB方式数据没办法做到实时持久化/秒级持久化。因为bgsave每次运行都要执行fork操作创建子进程,属于重量级操作,频繁执行成本过高。
RDB文件使用特定二进制格式保存,Redis版本演进过程中有多个格式的RDB版本,存在老版本Redis服务无法兼容新版RDB格式的问题。

5.AOF持久化方式

   ①.如何使用AOF:开启AOF功能需要设置配置:appendonly yes,默认不开启。

    ②.什么时候会触发AOF

           当我们进行写的操作时,会把写的命令放进appendonly.aof文件

③.AOF的优,缺点

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值