redis
图灵-享学-个人-总结
bloglin99999
这个作者很懒,什么都没留下…
展开
-
redis的aof同步策略和操作系统write、fsync的区别
appendfsync always/eversec/no aof缓冲区数据写入aof文件时的同步策略。涉及操作系统的write命令、fsync命令、io缓冲区 always 一旦aof缓冲区有数据时,就调用fsync命令强制往aof文件写数据(redis性能最差,数据可控性最好) eversec (默认)一旦aof缓冲区有数据时,就调用write命令往io缓冲区写数据,同时每秒调用一次fsync命令强制将io缓冲区的数据写入到aof文件(redis性能、数据可控性适中) no...原创 2022-01-01 10:28:28 · 1731 阅读 · 0 评论 -
redis的aof持久化流程
流程说明:1,所有的写入命令(如set hset)会追加(append)到aof_buf缓冲区中2,aof缓冲区向硬盘做同步(sync)3,随着aof文件增大,需定期对aof文件重写(rewrite)4,当redis服务重启,可加载(load)aof文件进行恢复命令写入,aof缓冲区,aof文件,重启追加(append),同步(sync),重写(rewrite),加载(load)...原创 2022-01-01 10:30:02 · 716 阅读 · 0 评论 -
redis的rdb持久化的cow技术(写时复制)及fork子进程理解
把当前进程数据生成快照(.rdb)文件保存到磁盘的过程两种触发方式:手动触发(save命令),自动触发(bgsave命令,推荐)save命令:阻塞当前redis直到rdb持久化完成。若内存实例较大,会造成长时间阻塞,线上环境不建议使用。bgsave命令:redis进程执行fork操作创建子进程来完成持久化,阻塞时间短(微秒级),save命令的优化。bgsave触发的条件:1在redis-cli中执行shutdown关闭redis服务时,如果没有开启aof持久化,自动执行bgsave命令2redi原创 2022-01-01 10:33:42 · 3675 阅读 · 0 评论