redis的持久化方案RDB和AOF

RDB:快照形式,定期把内存中当前时刻的数据保存到磁盘。Redis默认支持的持久化方案。速度快但是服务器断电的时候会丢失部分数据

AOF形式:append only file。把所有对redis数据库操作的命令,增删改操作的命令。保存到文件中。数据库恢复时把所有的命令执行一遍即可。两种持久化方案同时开启使用AOF文件来恢复数据库.能保证数据的完整性,但是速度慢

两者如何选择?

如果你没有数据持久化的需求,可以关闭RDB和AOF方式,这样的话,redis将变成一个纯内存数据库,就像memcache一样

如果你对数据的完整性要求比较高,那么就选择AOF

官方的建议是两个同时使用。这样可以提供更可靠的持久化方案。

备注:

  1. Redis 默认开启RDB持久化方式,在指定的时间间隔内,执行指定次数的写操作,则将内存中的数据写入到磁盘中。
  2. RDB 持久化适合大规模的数据恢复但它的数据一致性和完整性较差。
  3. Redis 需要手动开启AOF持久化方式,默认是每秒将写操作日志追加到AOF文件中。
  4. AOF 的数据完整性比RDB高,但记录内容多了,会影响数据恢复的效率。
  5. Redis 针对 AOF文件大的问题,提供重写的瘦身机制。
  6. 若只打算用Redis 做缓存,可以关闭持久化。
  7. 若打算使用Redis 的持久化。建议RDB和AOF都开启。其实RDB更适合做数据的备份,留一后手。AOF出问题了,还有RDB。
  8. https://www.cnblogs.com/itdragon/p/7906481.html

原文地址:https://www.cnblogs.com/lianruihong/p/11433788.html

时间: 2024-11-06 07:16:57

redis的持久化方案RDB和AOF的相关文章

Redis的持久化机制(RDB、AOF)

1. 为什么需要持久化? 因为Redis是内存数据库,它将自己的数据存储在内存里面,一旦Redis服务器进程退出或者运行Redis服务器的计算机停机,Redis服务器中的数据就会丢失. 为了避免数据丢失,所以Redis提供了持久化机制,将存储在内存中的数据保存到磁盘中,用于在Redis服务器进程退出或者运行Redis服务器的计算机停机导致数据丢失时,快速的恢复之前Redis存储在内存中的数据. Redis提供了2种持久化方式,分别为: RDB持久化 AOF持久化 接下来,我们一一详解. 2. R

Redis(四)——持久化方案(RDB和AOF使用)

一.持久化的作用 1.什么是持久化 redis的所有数据保存在内存中,对数据的更新将异步的保存到硬盘上 2.持久化的实现方式 快照:某时某刻数据的一个完成备份 -mysql的Dump -redis的RDB 写日志:任何操作记录日志,要恢复数据,只要把日志重新走一遍即可 -mysql的 Binlog -Hhase的 HLog -Redis的 AOF 二.RDB 1.什么是RDB 2.触发机制-主要三种方式 第一种: save(同步) 1 客户端输入save命令---->redis服务端---->

Redis:两种持久化方式RDB和Aof对比(3)

一.RDB快照 1.概念 默认的持久化方案. 在指定时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中. 在指定目录下生成一个dump.rdb文件. 重启会通过加载dump.rdp文件恢复数据. 2.对应配置参数 save <seconds> <changes> eg: save 900 1 save 300 10 save 60 10000 若不想用RDB方案,则为save "" # 时间策略save 900 1 save 300 10 save

Redis 持久化之RDB和AOF

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

redis持久化策略RDB和AOF

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

Redis持久化方式RDB与AOF详解

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

Redis系列之----Redis的两种持久化机制(RDB和AOF)

Redis的两种持久化机制(RDB和AOF) 什么是持久化 ???Redis的数据是存储在内存中的,内存中的数据随着服务器的重启或者宕机便会不复存在,在生产环境,服务器宕机更是屡见不鲜,所以,我们希望Redis能够将数据从内存中以某种形式保存到磁盘中,使得重启的时候可以加载磁盘中的文件记录恢复数据,这一过程便是Redis的持久化. ???Redis支持两种持久化机制,一种是RDB,另一种是AOF.Redis默认情况下使用RDB方式进行持久化.两种持久化可以单独使用其中的一种,也可以二者结合使用,

redis的持久化方案

Redis的高性能是由于其将所有数据都存储在了内存中,为了使Redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘中,这一过程就是持久化. Redis支持两种方式的持久化,一种是RDB方式,一种是AOF方式.可以单独使用其中一种或将二者结合使用. RDB RDB方式的持久化是通过快照(snapshotting)完成的,当符合一定条件时Redis会自动将内存中的数据进行快照并持久化到硬盘. RDB是Redis默认采用的持久化方式,在redis.conf配置文件中默认有此下配置: sa

Redis 专题二: RDB 与 AOF 持久化

服务器中的数据库 Redis服务器将所有数据库都保存在服务器状态结构的db数组中,db数组的每个项都是一个RedisDb结构,一个RedisDb结构数组的长度就代表了数据库的个数.默认情况下Redis的目标数据库是0号数据库,但客户端可以通过执行SELECT命令来切换数据库 在服务器内部,客户端状态redisClient结构的db属性记录了客户端当前的目标数据库,这个属性是一个指向RedisDb的指针 typedef struct redisClient{ //... //记录客户端当前正在使用