redis的快照和AOF

1.目的

为了解决持久化的问题,我们先来解释一下什么叫持久化。所谓持久化就是数据可以一直保存在数据库中,比如说mysql在你重启之后数据还是存在在数据库中,而我们的redis在重启之后就会出现数据消失的问题。所以我们有必要在重启之后依然能加载原来的数据,这就是所谓的持久化。

2.解决方案

1)快照

所谓的快照就是把数据都备份在一个文件中,如果重启的话就将数据加载到redis中即可,但是这个方案最大的缺点就是快照因为是备份所有数据,所以不可能每修改一条数据都备份一回,所以是周期性地备份,这样如果出现意外就会造成现在的redis中的数据与备份之前的数据不一样。

2)AOF

解决了数据不一致的问题,解决方法就是把原来的备份数据换成了备份每一条修改数据的指令。这样就能实时同步数据,但是这也给redis带来了不小的压力。还有一个问题就是如果一直写入指令的话会出现文件过大的情况。所以我们定期地重写AOF,重写时会新建一个AOF先把目前的数据对应的指令都写入AOF,然后再同步新的数据。

posted @ 2022-08-12 21:03  小小程序猿😜  阅读(111)  评论(0编辑  收藏  举报