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
收藏
评论加载中...