
image.png

image.png
RDB

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png
不是很好的策略

image.png

image.png
右边为最佳配置,不过所谓最佳配置也是需要看项目的具体需求
RDB触发机制

image.png

image.png

image.png
AOF

image.png

image.png

image.png

image.png
在redis客户端写入的命令同时,AOF的log文件也会实时记录相同命令

image.png

image.png

image.png

image.png
可能会存在数据丢失1秒

image.png

image.png
通常会用第二种,而不用第1,3种

image.png
AOF会发生类似于"指令重排"的效果(但不是),它会优化指令,从而减小恢复数据时候的性能开销

image.png

image.png

image.png

image.png

image.png

image.png

image.png
设置aof 需要将appendonly 打开 即设置为yes

image.png

image.png
1.RDB采用二进制文件,所以体积较小,也因此恢复速度较快
2.当同时开启RDB和AOF时,AOF执行的优先级高于RDB
3.RDB写入磁盘属于 cpu的密集型操作

image.png

image.png

image.png
常见的持久化开发运维问题

image.png

image.png

image.png

image.png
fork() 不是子进程立即申请内存,只有要写操作的时候才会申请,否则会和父进程共享内存

image.png

image.png
网友评论