3. 持久化方式
<h1>rdb和aof都是实现redis的持久化,把内存中的数据存储到硬盘的方式</h1>
<h5>AOF</h5>
<ul>
<li>先执行命令,在写入文件(文件里写入的是执行的命令)</li>
</ul>
<h5>RDB</h5>
<ul>
<li>先执行命令,在写入文件(文件里写入的是数据,执行命令后产生的数据结果)</li>
</ul>
<h5>对比</h5>
<p>相较于 AOF 来对比,RDB 是会在数据恢复时,速度更快。但是 RDB 的内存快照同步频率不太好控制,过多过少都有问题。</p>
<h5>优缺点</h5>
<ul>
<li>AOF</li>
</ul>
<blockquote>
<p>优点:AOF 中有三种策略可以进行选择,AOF 的默认策略为每秒钟 fsync 一次,在这种配置下,Redis 仍然可以保持良好的性能,并且就算发生故障停机,也最多只会丢失一秒钟的数据。</p>
<p>缺点:AOF 文件体积一般情况下比 RDB 文件体积大,并且数据还原速度也慢于 RDB。</p>
</blockquote>
<ul>
<li>RDB</li>
</ul>
<blockquote>
<p>优点:可以快速恢复数据,相比于 AOF 的顺序,逐一执行操作命令,效率更高;</p>
<p>缺点:因为是内存快照,频率过快,过慢,都会有响应的问题。过快,浪费磁盘资源,会给磁盘造成压力,过慢会存在较多数据丢失的问题。</p>
</blockquote>
<h5>摘取自</h5>
<ul>
<li><a href="https://blog.csdn.net/JAVA88866/article/details/124711223">https://blog.csdn.net/JAVA88866/article/details/124711223</a></li>
</ul>