`

redis持久化rdb aof简介

 
阅读更多
原文地址:http://chengjianxiaoxue.iteye.com/blog/2191119


redis持久化rdb aof简介

博客分类: redis





rdb方式的持久化是通过快照完成的,当符合一定条件时redsi会自动将内存中的所有数据进行快照并存储到硬盘上。默认存储在redis根目录的dump.rdb文件中。
rdb是redis默认采用的持久化方式,配置信息在配置文件redis.conf中
定期将内存数据生成快照(即某个时间点上数据的备份) 然后存储在硬盘上
快照执行时机:
save 900 1:表示900秒内至少一个键被更改则进行快照。
save 300 10
save 60 10000
手动执行save或者bgsave命令让redis执行快照。
两个命令的区别在于,save是由主进程进行快照操作,会阻塞其它请求。bgsave会通过fork子进程进行快照操作。
redis实现快照的过程:
1:redis使用fork函数复制一份当前进程的副本(子进程)
2:父进程继续接收并处理客户端发来的命令,而子进程开始将内存中的数据写入硬盘中的临时文件
3:当子进程写入完所有数据后会用该临时文件替换旧的RDB文件,至此,一次快照操作完成。
注意:redis在进行快照的过程中不会修改RDB文件,只有快照结束后才会将旧的文件替换成新的,也就是说任何时候RDB文件都是完整的。
这就使得我们可以通过定时备份RDB文件来实现redis数据库的备份
RDB文件是经过压缩的二进制文件,占用的空间会小于内存中的数据,更加利于传输。

文件修复:redis-check-dump  在启动redis失败时,用于修复dump文件
rdb的优缺点
优点:由于存储的有数据快照文件,恢复数据很方便。
缺点:会丢失最后一次快照以后更改的所有数据。

AOF 保存的数据方案是最完整的,如果同时开启了rdb和aof下,会采用aof方式

aof方式的持久化是通过日志文件的方式。默认情况下redis没有开启aof,可以通过参数appendonly参数开启。
appendonly yes
aof文件的保存位置和rdb文件的位置相同,都是dir参数设置的,默认的文件名是appendonly.aof,可以通过appendfilename参数修改
appendfilename appendonly.aof
aof日志文件重写
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
手动执行bgrewriteaof进行重写
redis写命令同步的时机
appendfsync always 每次都会执行
appendfsync everysec 默认 每秒执行一次同步操作(推荐)
appendfsync no不主动进行同步,由操作系统来做,30秒一次
文件修复:redis-check-aof
动态切换redis持久方式,从 RDB 切换到 AOF(支持Redis 2.2及以上)
CONFIG SET appendonly yes
CONFIG SET save ""(可选)
分享到:
评论

相关推荐

    Redis 持久化之RDB和AOF.doc

    Redis 持久化是确保数据安全的重要机制,它提供了两种主要的方法:RDB(Redis Database)和 AOF(Append Only File)。RDB 是一种快照式的持久化方式,而 AOF 则记录每次写操作的日志。 RDB 持久化在特定条件下将...

    Redis持久化 - RDB和AOF

    “Redis持久化 - RDB和AOF” Redis持久化是指将数据库中的数据保存到永久存储设备中,以避免数据丢失。Redis提供了两种持久化方式:RDB(快照方式)和AOF(写日志方式)。 RDB(Redis Database)是一种快照方式的...

    Redis持久化RDB和AOF区别详解

    为了确保数据在服务器重启或异常情况下的安全,Redis提供了两种主要的持久化机制:RDB(Redis Database Persistence,即快照)和AOF(Append Only File,追加日志)。下面将详细解释这两种持久化方式的区别。 **RDB...

    部署安装Redis及RDB、AOF持久化验证.md

    部署安装Redis及RDB、AOF持久化验证.md

    Redis的持久化方案

    对于Redis持久化,用户可以选择使用单一的RDB或AOF,也可以两者结合使用。如果两种持久化机制都被开启,则在Redis重启时,会优先使用AOF文件进行数据恢复,因为它能够保证数据的完整性。不过,当AOF日志过大时,...

    09.图解分析redis的RDB和AOF两种持久化机制的工作原理.zip

    为了在系统崩溃或意外停机后能够恢复数据,Redis提供了两种持久化机制:RDB(Redis Database Backup)和AOF(Append Only File)。这两种机制各有优缺点,可以根据实际需求进行选择或结合使用。 **RDB持久化**: ...

    Redis持久化策略与AOF机制详解

    内容概要:本文详细介绍了Redis的持久化策略,特别是RDB(Redis Database Backup)和AOF(Append Only File)两种主要的持久化方法。RDB通过在某个时间点创建数据集的快照来实现数据持久化,其优点包括数据恢复快、...

    redis持久化方式

    ### Redis持久化方式详解 Redis 是一款高性能的键值存储系统,因其卓越的读写速度、丰富的数据结构以及灵活的应用场景而备受青睐。为了保证数据的安全性和持久性,Redis 提供了两种主要的持久化机制:RDB 快照...

    【大厂面试】Redis 持久化AOF、RDB概念总结

    AOF 持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以 redis 协议追加保存每次写的操作到文件末尾,redis 还能对 AOF 文件进行后台重写,使得 AOF 文件的体积...

    06_redis 持久化.pdf

    Redis持久化是指利用永久性存储介质将Redis内存中的数据保存到磁盘上的过程,以防止数据的意外丢失,确保数据的安全性。其主要目的就是在Redis服务出现意外情况下,能够通过持久化存储的数据进行恢复,保证业务的...

    Redis持久化、主从与哨兵架构详解(1)

    Redis持久化、主从与哨兵架构详解 Redis持久化是指将Redis中的数据保存到磁盘中,以便在Redis服务器重启或崩溃后可以恢复数据。Redis提供了两种持久化方式:RDB快照和AOFAppend-Only File。 RDB快照 RDB快照是...

    解密Redis持久化

    本文将深入解析Redis的持久化机制,主要包括RDB快照和AOF日志。 首先,理解数据持久化的概念至关重要。简单来说,持久化就是将内存中的数据保存到非易失性存储设备,如硬盘,以便在系统重启后仍能访问这些数据。在...

    Redis 持久化机制及其实现方案详解

    适合人群:具有基础Redis知识的研发人员,尤其是对Redis持久化机制有深入了解需求的后端开发工程师。 使用场景及目标:①掌握Redis持久化机制的实现细节,提升Redis数据管理能力;②根据业务需求选择合适的持久化...

    02-Redis持久化、主从与哨兵架构详解.zip

    Redis提供了两种主要的持久化方式:RDB(Redis Database Backup)和AOF(Append Only File)。RDB是通过定时全量备份的方式保存数据,它在特定时间点生成一个数据库的快照,生成的文件体积小,恢复速度快,适合灾难...

    Redis持久化机制思维导图完整版

    RDB持久化RDB(Redis DataBase)持久化是一种基于快照的持久化方式。在指定的时间间隔内,如果满足一定条件(如某段时间内发生的写操作次数),Redis会生成一个包含当前内存数据的RDB文件。这个RDB文件可以用于数据...

    Redis windows 测试redis持久化功能1

    接下来,我们关注 Redis 的持久化功能,主要有两种方式:RDB(Redis Database Backup)和 AOF(Append Only File)。 1. RDB 持久化:这是一种定期快照的方式,通过 `save` 配置项来定义触发保存的条件。例如: ``...

    Redis的持久化方案.pdf(两种持久化方案:RDB 和 AOF,共15页)

    ### Redis的两种持久化方案:RDB 和 AOF Redis是一种高性能的键值数据库,它提供了两种主要的数据持久化机制:RDB(Redis Database Backup)和AOF(Append Only File)。这两种方法各有特点,适用于不同的场景。 #...

    Redis持久化、主从与哨兵架构详解.pdf

    Redis持久化机制包括RDB快照和AOF(Append Only File)两种方式,它们有不同的特点和使用场景,下面将详细分析这两种机制。 首先,RDB是通过创建数据集的快照来进行持久化的,在默认情况下,Redis会在内存中存储...

Global site tag (gtag.js) - Google Analytics