上篇我们讲到redis的rdb持久化操作,有一个问题就是在1分钟间隔中突然断电,造成这段间隔的数据没有持久化到磁盘中,造成数据丢失。
解决办法就是用redis的aof(append only file)做日志持久化。简单说就是把每一条操作命令都写到文件中,下次恢复的时候重新执行这些命令就做到了数据恢复。具体配置还是在redis.conf中:
appendonly yes #是否仅要日志
appendfsync no # 系统缓冲,统一写,速度快
appendfsync always # 系统不缓冲,直接写,慢,丢失数据少
appendfsync everysec #折中,每秒写1次
appendonly是否开启aof服务,appendfsync则是将操作命令写入到文件的频率(no表示由系统缓冲决定什么时候aof,always则是每执行一条命令就写入日志文件中,效率不高,everysec每秒写一次)。
no-appendfsync-on-rewrite no #正