Redis持久化

redis持久化机制有两种:

  • RDB
  • AOF

RDB

1. 基本介绍

image
image

2. bgsave执行的底层机制:

  • fork的过程会阻塞主进程,fork结束,主进程就可以进行操作了
  • fork的实质是子进程复制页表,页表(物理内存与虚拟内存的映射,因为用户进程无法直接访问物理内存)
  • 子进程读的过程中,主进程在进行写,就容易发生读写冲突。所以主进程写的时候,会预先拷贝一份数据,再进行写操作
    image

3. 总结:

image

在redis.conf文件中配置 save "",表示禁用RDB

AOF

1. 基本介绍

image
image
为了均衡性能和可靠性,启用AOF后,一般将命令记录的频率配置为 everysec,这也是AOF的默认方案(即每秒刷盘)

2. AOF重写功能

RDB文件记录的是执行命令后存入redis的key-value结构中的数据,而AOF记录的是每次执行的命令。
bgrewriteaof命令,实现AOF文件的重写功能,在保证数据不变的情况下,减少记录的命令,从而减小AOF文件的大小。
image
那么什么时候触发执行bgrewriteaof命令呢?
image

RDB和AOF之间的区别

image

posted @ 2022-07-07 22:13  paopaolx  阅读(30)  评论(0编辑  收藏  举报