Redis持久化


RDB持久化

RDB持久化,是指在指定的时间间隔内,行指定次数的写操作,将内存中的数集快照写入磁中,是Redis的持久化方式。行完操作后,在指定目下会生成一个dump.rdb文件,Redis 重候,通dump.rdb文件来。RDB触机制主要有以下几

, 4E??üRedisA??%  RDB?&tJ1fiJ  save  bgsave  save m n

RDB 的

 

合大模的数据恢复场景,如备份,全量制等

RDB

 

实时持久化/秒持久化。

新老版本存在RDB格式兼容问题

 

AOF持久化

将写命令添加到 AOF 文件(Append Only File)的末尾。

 

使用 AOF 持久化需要置同步选项保写命令同到磁文件上的机。是因为对文件行写入并不会上将内容同到磁上,而是先存冲区,然后由操作系决定什么时候同到磁。有以下同步选项

1 .append  AOFéZ)cP  2.sync  AOF2#  4.10ad  3.rewrite

 

选项步频率always 个写命令都同everysec 秒同一次no 操作系来决定何always 选项低服器的性能;everysec 选项,可以保溃时失一秒左右的数,并且 Redis 行一次同步对器性能几乎没有任何影;no 选项并不能器性能来多大的提升,而且也会加系溃时失的数量。着服器写求的多,AOF 文件会越来越大。Redis 提供了一将 AOF 重写的特性,能去除 AOF 文件中的冗余写命令。

 

 

 

 

 

持久化

RDB 持久化

将某个时间点的所有数据都存放到硬盘上。

可以将快照复制到其它服务器从而创建具有相同数据的服务器副本。

如果系统发生故障,将会丢失最后一次创建快照之后的数据。

如果数据量很大,保存快照的时间会很长。

AOF 持久化

将写命令添加到 AOF 文件(Append Only File)的末尾。

使用 AOF 持久化需要设置同步选项,从而确保写命令同步到磁盘文件上的时机。这是因为对文件进行写入并不会马上将内容同步到磁盘上,而是先存储到缓冲区,然后由操作系统决定什么时候同步到磁盘。有以下同步选项:

选项

同步频率

always

每个写命令都同步

everysec

每秒同步一次

no

让操作系统来决定何时同步

always

选项会严重减低服务器的性能;

everysec

选项比较合适,可以保证系统崩溃时只会丢失一秒左右的数据,并且 Redis 每秒执行一次同步对服务器性能几乎没有任何影响;

no

选项并不能给服务器性能带来多大的提升,而且也会增加系统崩溃时数据丢失的数量。

随着服务器写请求的增多,AOF 文件会越来越大。Redis 提供了一种将 AOF 重写的特性,能够去除 AOF 文件中的冗余写命令。