redis持久化有两个机制RDB和AOF
RDB:redis通过创建快照的方式备份数据,RDB是redis默认的持久化方案。redis在指定的时间将数据写入到rdb快照中或者当保存数据达到一定次数时也会触发rdb。rdb这样的机制如果在redis宕记的时候会丢失数据,所以咱们可以用flushall触发rdb。rdb机制恢复数据的时候redis会启动一个子线程进行奖数据写到一个临时文件中。整个持久话过程结束后,会替换之前的文件。在这个过程中,主线程是不会进行IO操作的,这就保证了很高的性能。
ps:如果要恢复文件,只需要在启动redis的时候把dump.rdb放在启动目录下就好
127.0.0.1:6379> config get dir
1) "dir"
2) "/" #如果在这个目录下存在dump.rdb 文件,启动就会自动恢复其中的数据
AOF:需要手动设置,该文件默认是无限追加的,以日志的形式记录写操作。redis重启之后会根据AOF恢复数据。
ps:AOF默认不开启,需要设置appendonly no yes表示启用aof。