宕机了,Redis如何避免数据丢失
我们很容易想到的一个解决方案是,从后端数据库恢复这些数据,但这种方式存在两个问题:
一是,需要频繁访问数据库,会给数据库带来巨大的压力;
二是,这些数据是从慢速数据库中读取出来的,性能肯定比不上从 Redis 中读取,导致使用这些数据的应用程序响应变慢。
所以,对 Redis 来说,实现数据的持久化,避免从后端数据库中进行恢复,是至关重要的。
一.AOF日志是如何实现的?
写后日志:
Redis 是先执行命令,把数据写入内存,然后才记录日志
![image.png](https://img-blog.csdnimg.cn/img_convert/e5dad6d2db9ed2018ab97efce16e81b9.png)
AOF 里记录的是 Redis 收到的每一条命令,这些命令是以文本形式保存的。