Redis持久化机制RDB 和AOF

redis持久化机制

redis服务器宕机,内存数据是会丢失了,为了保证数据不丢失需要对数据做备份,所备份就是持久化,Redis的持久化即将内存中的数据同持久化步到硬盘,主要包括两种方式RDB、AOF。

RDB持久化机制,(默认使用):做当前内存数据的全本快照,

将内存中的数据以快照的方式写入到二进制文件dump.rdb,

其他业务收入redis.conf中可以设置发起快照保存的条件。在指定的时间内如果有超过指定数量的key被修改,则会发起快照保存。

这种方式在数据的实时性上不高,在突然断电的情况下,可能会出现部分数据的丢失,即最redis集群三种方式后一次快照之后在内存中发生修改的数据。

简单来说:RDB就是将redis上的所有数据做个备份,存储的是二进制的数据。

AOF持久化机制,(默认是关闭)

AOF是将Redis内存数中更改的数据都记录到指定的文件appendonly.aof。在redis.conf中可以进行写磁盘的相关设置。

在突然断电的情况下持久化,由于在appendonly.aof中保存了最后一次写磁盘之后redis内存发生数据修改的指令,所以在这个Redis重启后,基本不会发生数据丢失,比RDB具有更好的数据安全性。

appendfsync always 接收到更改数据的命令,立即将其记录到appendo其他应收款nly.aof中,能保证数据持久化,数据完全不丢失,但效率相对最低。

append其他货币资金fsync everysec 每秒钟将redis内存数据修改其他垃圾的命令记录到appendonly.aof中,在性能和持久化上做redis命令了折中。因频繁执行磁盘操作,在仅存在单个Master执行写操作时,效率可能存在问题。但在多个Master执行写操作的Redis集群中,效率会提升。

appendfsync no 依赖于操作系统,因不会频繁执行磁盘操作而性能最redis面试题好,但redis内存数据修改持久化没有保证,无法保证数据可靠性

如何开其他业务收入启AOF持久化其他和其它的区别

将redis.conf文件中redis数据结构 appendonly 改成 yes ,自动创建appendredis数据only.aof,该文件存储的客户端执行过redis集群三种方式删改操其他和其它的区别作的命数据废土

什么是AOF重写?

当命令redis数据结构存储了一定程度的时候,有一些命数据恢复软件免费版令可能是已经无效的了

例如set usernname xx del usename,添加一条数据,后又删除,所以这两条命令备redis持久化份的备份的时其他业务收入候就都是数据漫游是什么意思无效的

所有redis会对AOF文件进行优化,把一些没有对于数据恢复没有意义的命令优化掉

默认AOF是关闭的,需要在redis.conf中进行开启


                                            Redis持久化机制RDB 和AOF