Redis的持久化【1】

Redis 的持久化:RDB(Redis DateBase)

                        AOF (AppendOnly File

  • RDB
    • 执行机制:快照,直接将databases中的key-value的二进制形式存储在了rdb文件中
    • 优点:性能较高(因为是快照,且执行频率比aof低,而且rdb文件中直接存储的是key-values的二进制形式,对于恢复数据也快)
    • 缺点:在save配置条件之间若发生宕机,此间的数据会丢失
  • AOF
    • 执行机制:将对数据的每一条修改命令追加到aof文件
    • 优点:数据不容易丢失
    • 缺点:性能较低(每一条修改操作都要追加到aof文件,执行频率较RDB要高,而且aof文件中存储的是命令,对于恢复数据来讲需要逐行执行命令,所以恢复慢)

 

RDB 是整个内存压缩过的Snaoshot ,RDB的数据结构,可以配置复合的快照触发条件,默认:

1分钟内改1万次

5分钟内改10次

15分钟内改1次

或者强行备份dump.rdb   可执行 save    /bgsave

当 Redis 启动时, 如果 RDB 持久化和 AOF 持久化都被打开了, 那么程序会优先使用 AOF 文件来恢复数据集, 因为 AOF 文件所保存的数据通常是最完整的。

RDB 是将内存的数据备份到dump.rdb文件中,再重启服务器时,写入内存。


AOF是以日志的形式来记录每个操作,将Redis执行过得所有写指令记录下来(读操作不记录),只追加文件不修改文件,redis启动之初会读取该文件重新构建数据。


RDB和AOF并存的情况下,优先执行AOF的 appendonly.aof 文件。 当appendonly.aof 文件损坏时,可使用redis-check-aof进行修复。

修复命令:redis-check-aof --fix appendonly.aof               


AOF的操作数据的频次:

Always:同步持久化,每次发生数据变更会被立即记录到磁盘,性能较差但数据完整性较好。

Everysec:出厂默认推荐,一异步操作,每秒记录,如果一秒内宕机,有数据丢失。

NO



























猜你喜欢

转载自blog.csdn.net/qq_41307443/article/details/79774423