Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
人工智能
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
更多话题
大键如何影响Redis的持久性? - Xu
22-09-20
banq
当我们开启 AOF 持久化有三种模式:
1、Always - 每当内存中有数据更新时,同步写入数据到磁盘。
2、EverySec - 每秒写入磁盘。
3、No - Redis 不控制何时将数据写入磁盘。相反,操作系统决定何时将数据写入磁盘。
下面分析大键Key的影响:
Redis首先将key写入内存,然后调用write()将数据写入内核缓冲区缓存。然后 fsync() 将文件的所有修改的内核数据刷新到磁盘设备有 3 种模式:
在“Always”模式下,它同步调用 fsync()。如果我们需要更新一个大键,主线程将被阻塞,因为它必须等待大键key全部写入完成。
“EveySec” 启动一个后台定时器任务,每秒调用一次 fsync(),所以大键对 Redis 主线程没有影响。
“No”模式从不调用 fsync () 。这取决于操作系统。大键对主线程没有影响。
Redis缓存内存数据库
性能调优