Redis持久化机制

1、快照(Snapshot)

        1.1快照生成方式:

       1.1.1BGSAVE指令:redis调用fork创建一个子进程,子进程将快照写入磁盘中,父进程继续处理命令请求,子进程和父进程共享内存。

        1.1.2.SAVE指令:接收到SAVE命令的redis服务器在快照创建完毕之前将不再响应任何其他的命令。

       1.1.3.服务器配置

        如果设置多个save配置选项,当任意一个save配置选项条件满足,redis也会触发一次BGSAVE命令,以下是redis.windows.conf文件的代码,可以修改save配置选项

        1.1.4.SHUTDOWN指令

        当redis通过shutdown指令接收到关闭服务器的请求时,会执行一个save命令,阻塞所有的客户端,不再执行客户端执行发送的任何命令,并且在save命令执行完毕之后关闭服务器

        1.1.5 AOF

        在redis的默认配置中AOF持久化机制是没有开启的,需要在配置中开启 appendonly yes。

AOF重写:当AOF文件体积大于64M,并且AOF文件的体积比上一次重写之后体积大了至少一倍(100%)时,会自动触发

重写流程:

-1. redis调用fork ,现在有父子两个进程 子进程根据内存中的数据库快照,往临时文件中写入重建数据库状态的命令
- 2. 父进程继续处理client请求,除了把写命令写入到原来的aof文件中。同时把收到的写命令缓存起来。这样就能保证如果子进程重写失败的话并不会出问题。
- 3. 当子进程把快照内容写入已命令方式写到临时文件中后,子进程发信号通知父进程。然后父进程把缓存的写命令也写入到临时文件。
- 4. 现在父进程可以使用临时文件替换老的aof文件,并重命名,后面收到的写命令也开始往新的aof文件中追加。:

1.2 redis.windows.conf的一些配置项

BGSAVE、SAVE快照文件名称:dbfilename dump.rdb

快照生成位置:dir ./

快照BGSAVE自动触发条件:save xx xx
 开启AOF持久化:appendonly yes
AOF文件名称:appendfilename "appendonly.aof"

指定日志同步频率:appendfsync everysec|always|no

推荐使用everysec每秒执行一次,always会降低计算机性能,no由操作系统自己决定同步频率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值