redis持久化之RDB

rdb和aof两种持久化机制

RDB:snapshot --> 存储的格式为二进制格式,是默认的持久化方式;按事先定制的策略,周期性地将数据从内存中读取保存到磁盘:数据文件默认为dump.rdb

所以rdb保存机制有两种:

a.客户端也可以显式使用save或bgsave命令启动快照保存机制

b.在配置文件中使用保存策略进行保存

save:同步保存的;在主线程中保存快照,此时会阻塞所有客户端请求(如果内存中有大量数据,将会阻断客户请求的时间比较久)

bgsave:异步保存的;主进程不会被阻塞,不影响客户端的请求;在保存时会fork出一个子进程将内存中的快照写入到磁盘中;

rdb缺点:在意外关机或者断电的情况,一定会丢失数据,丢失的数据为最后一次快照后的数据

默认的保存(快照)策略

save 900 1

save 300 10

save 60 10000

save "":引号里边为空,表示关闭rdb的功能

stop-writes-on-bgsave-error yes:当备份时发生错误是否停止,默认为yes

rdbcompression yes:是否对rdb文件进行压缩以节约空间(压缩会消耗cpu),默认为yes

rdbchecksum yes:是否对rdb镜像文件进行校验码检测(用于检测是否产生错误),默认为yes

dbfilename dump.rdb:rdb的存储文件名字,默认为dump.rdb

dir:rdb文件保存文件位置

时间: 2024-10-12 23:00:27

redis持久化之RDB的相关文章

redis持久化策略RDB和AOF

Redis 持久化: redis 提供了多种不同级别的持久化方式:一种是RDB,另一种是AOF. RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集. AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾. Redis 还可以在后台对 AOF 文件进行重写(rewrite),使得 AOF 文件的体积不会超出保存

Redis持久化之rdb&aof

Redis有两种持久化的方式:快照(RDB文件)和追加式文件(AOF文件) RDB持久化方式是在一个特定的间隔保存某个时间点的一个数据快照. AOF(Append only file)持久化方式则会记录每一个服务器收到的写操作.数据回复时,这些记录的操作会逐条执行从而重建出原来的数据.写操作命令  记录的格式跟Redis协议一致,以追加的方式进行保存. Redis的持久化是可以禁用的,两种方式的持久化是可以同时存在的,但是当Redis重启时,AOF文件会被优先用于重建数据. 一.RDB RDB就

【Redis源码剖析】 - Redis持久化之RDB

原创作品,转载请标明:http://blog.csdn.net/xiejingfa/article/details/51553370 Redis是一个高效的内存数据库,所有的数据都存放在内存中.我们知道,内存中的信息会随着进程的退出或机器的宕机而消失.为此,Redis提供了两种持久化机制:RDB和AOF.这两种持久化方式的原理实际上就是把内存中所有数据的快照保存到磁盘文件上,以避免数据丢失. 今天我们主要来介绍一下RDB持久化机制RDB的实现原理,涉及的文件为rdb.h和rdb.c. RDB的主

Redis持久化方式RDB与AOF详解

前言 Redis提供了两种数据存储方式,分别是:cache-only && persistence:cache-only顾名知义,是用与缓存服务的,数据在服务器终止后将消失,在此模式下将不存在"数据恢复"的方式,是一种安全性低.效率高.易扩展的模式:persistence即内存中的数据持久备份至磁盘文件中,在服务重启之后能够恢复数据,这种模式下数据的安全性大大提高.cache-only没有什么讲的,这里主要说明Redis的持久化存储模式.对于persistence持久化

redis 持久化之 RDB & AOF

Redis 持久化实现方式 快照对数据某一时间点的完整备份.例如Linux 快照备份.Redis RDB.MySQL Dump. 日志将数据的所有操作都记录到日志中,需要恢复时,将日志重新执行一次.MySQL biglog.Redis AOF. RDB 什么是 RDB 将redis内存中的数据,完整的生成一个快照,以.rdb结尾的文件保存在硬盘上,当需要恢复时,再从文件加载到内存中. RDB 三种触发方式 save命令触发(同步) [[email protected] ~]$ redis-cli

Redis 持久化之RDB和AOF

1. Redis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File). RDB: Redis 默认的持久化方案.在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中.即在指定目录下生成一个dump.rdb文件.Redis 重启会通过加载dump.rdb文件恢复数据. AOF:Redis 默认不开启.它的出现是为了弥补RDB的不足(数据的不一致性),所以它采用日志的形式来记录每个写操作,并追加到文件中.Redis 重启的会

redis 持久化 AOF RDB

Redis的AOF持久化策略是将发送到redis服务端的每一条命令都记录下来,并且保存到硬盘中的AOF文件中,类似打日志文件,来一条命令就记录一条. AOF设置 AOF文件的位置和RDB文件的位置相同,都是通过dir参数设置,默认的文件名是appendonly.aof,可以通过appendfilename参数来修改. AOF测试 当客户端向服务器发送一些redis命令时,Redis会将所执行的命令记录到aof文件中,如下所示: 当redis服务器重启后,会将执行该aof文件,达到数据恢复的目的.

redis++:Redis持久化中 rdb 备份策略中的配置参数

save 900 1 # 时间策略 save 300 10 # 时间策略 save 60 10000 # 时间策略 dbfilename dump.rdb   #文件名称 dir /home/work/app/redis/data/    #文件保存路径 stop-writes-on-bgsave-error yes   # 如果持久化出错,主进程是否停止写入 rdbcompression yes    # 是否压缩 rdbchecksum yes     # 导入时是否检查 那么为什么需要配置

redis 持久化之 rdb 快照持久化

解释1: 虽然redis是单进程,但是它有一个单独的子进程进行rdb操作,为了保证的数据的一致性,当进行rdb操作失败的时候,主进程就停止写入 所以才有了stop-write-on-bgsave-error 这条命令 如何停止rdb? 答案: 把下面三个参数屏蔽掉就行 开始使用rdb 第一步: 为了方便 修改配置文件 让60秒内写入3000秒就进行快照保存 第二步: 杀掉redis 用最新的配置文件重启redis 第三步: 使用redis自带的测试工具进行3000多条的写入 第四步: 查看执行目