默认情况下,Redis将存储器数据库快照保存在名称的二进制文件中。
表示60年代内有1,000个命令。
我们还可以手动执行命令以生成RDB快照,输入REDIS客户端以执行命令或可以生成。每个命令执行将使所有REDIS内存都进入一个,并且。
子过程运行后,开始读取主线程的内存数据,然后将其写入RDB文件。目前,如果主线程需要修改数据,则将复制此数据以生成数据的副本。仍然可以直接修改原始数据。
IO类型同步异步异步是否是否重新进行其他指令(通用过程执行叉函数将是简短的阻止函数)复杂性o(n)o(n)o(n)o(n)o(n)o(n)的优势不会消耗其他内存,并且不会阻止客户端命令劣势到客户端命令劣势。阻止客户端命令的客户端命令并不长时间消耗存储器AOF快照函数。
从1.1版开始,Redis增加了一种完整而持久的方式。每个修改的指令都记录在文件中(每次磁盘上的Fsync首次写入OS CACHE)
您可以看到以下文件
对于如何打开AOF函数,您可以将其添加到配置文件中
启动优先级级别的低恢复速度,快速和缓慢的数据安全很容易根据策略决策丢失数据
重新启动REDIS时,我们很少使用RDB恢复内存状态,因为它会丢失大量数据。我们通常使用AOF日志替换,但是替换AOF log的性能比RDB的log较慢要慢得多。在这种情况下,REDIS实例非常大,需要很长时间。
为了解决此问题,redis4.0带来了一个新的持久性选项:。
我们可以在配置文件中
如果混合持久性打开,当AOF重写时,它不再简单地将内存数据转换为revs命令将其写入AOF文件中。AOF的命令修改了内存数据,它们都是编写的,它们都是编写的进入新的AOF文件。首先不会尖叫新文件。重写新的AOF文件后,它将被重命名。两个AOF文件的更换。
因此,当Redis重新启动时,您可以首先加载RDB的内容,然后替换AOF日志增加的增加,以完全替换上一个AOF的完整文件的重新加载,因此可以大大提高重新启动效率。