Skip to content

Latest commit

 

History

History
 
 

28

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

#RDB AOF 持久化策略

  • RDB 按照时间点,将某个时间点的时候,内存中的数据储存在硬盘上,但是有可能丢数据

  • AOF

AOF是先把数据存放在缓存区,然后根据不同的缓存设定,设置好比如每秒一次,每个命令一次,或者等等这种从缓存区然后拉数据到磁盘的行为。

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

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

选项 同步频率
always 每个写命令都同步
everysec 每秒同步一次
no 让操作系统来决定何时同步
always 选项会严重减低服务器的性能;
everysec 选项比较合适,可以保证系统崩溃时只会丢失一秒左右的数据,并且 Redis 每秒执行一次同步对服务器性能几乎没有任何影响;

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