bgsave配置

bgsave命令生成的rdb文件,配置在配置文件的 dir配置后的目录

默认文件名 :/var/lib/redis/dump.rdb

conf]# cat redis-cluster-8002.conf
daemonize no
tcp-backlog 65536
timeout 0
tcp-keepalive 0
loglevel notice
databases 16
dir /opt/cachecloud/data

如,上述配置,生成的dump文件就在 /opt/cachecloud/data目录中,而且是带端口的dump-8002.rdb

bgsave的工作流程

Redis的cow ,cow = copy on write
Redis创建子进程以后,根本不进行数据的copy,主进程与子进程是共享数据的。主进程继续对外提供读写服务。
虽然不copy数据,但是kernel会把主进程中的所有内存页的权限都设为read-only,主进程和子进程访问数据的指针都指向同一内存地址。
主进程发生写操作时,因为权限已经设置为read-only了,所以会触发页异常中断(page-fault)。在中断处理中,需要被写入的内存页面会复制一份,复制出来的旧数据交给子进程使用,然后主进程该干啥就干啥。
也就是说,在进行IO操作写盘的过程中(on write),对于没有改变的数据,主进程和子进程资源共享;只有在出现了需要变更的数据时(写脏的数据),才进行copy操作。

以上一段引用自 https://blog.csdn.net/zmflying8177/article/details/103500645

这一块我有一个疑惑,在redis深度历险和另一篇文章里面 https://blog.csdn.net/wejack/article/details/122514049 里面,都写的是拷出来的文件,给主进程写数据用,而上面这一段,参考 https://blog.csdn.net/zmflying8177/article/details/103500645 ,写的是拷出来一份,给子进程用,主进程该进行写入,从最终的结果上来说,确实是让子进程读取拷过来的一份就好了,主进程写入最终什么都不用动,将为子进程拷出来的对象删掉就可以了,但是上面说的将主进程的内存页的权限设置为readonly了,那再修改这个readonly权限会不会有什么操作损耗,亦或者说,从readonly拷出来的内存页面也是readonly的,其实无论改哪个损耗是一样的,如果是这样的话, 从最终结果看,还是拷出来的给子进程用会更方便一些

在最理想的情况下,也就是生成RDB文件的过程中,一直没有写操作的话,就根本不会发生内存的额外占用。

当然,仍然需要合理配置Linux的内存分配策略。避免在写操作过于集中时,发生因为物理内存不足导致fork失败的情况。

参考:
https://blog.csdn.net/zmflying8177/article/details/103500645
https://blog.csdn.net/wejack/article/details/122514049

bgsave配置与工作流程相关推荐

  1. KaliLinux常用服务配置教程DHCP服务工作流程

    KaliLinux常用服务配置教程DHCP服务工作流程 DHCP服务工作流程如图1.1所示. 具体的工作流程如下所示: (1)DHCP客户端以广播的方式发出DHCP Discover报文. (2)所有 ...

  2. nginx服务器硬件配置要求_聚英国际|Filecoin网络对服务器硬件要求及工作流程分析...

    IPFS&Filecoin--2020年最受瞩目的明星级项目.Filecoin作为一个去中心化存储项目,落地实体才能让生态发展得越长远,随着生态的扩大,真正应用上的存储需求被提出,Fileco ...

  3. X005---alteryx的工作流程配置

    一.缘起 每个工作工作流程文件,都有配置页面,点击该流程画布的空白处,即可看见左侧的配置页面变为"工作流程配置"页面: 这个配置页面值得研究. 二.工作流程配置 "配置& ...

  4. Redis——Redis主从复制(工作流程详解)

    Redis主从复制 主从复制简介 主从复制的概念 主从复制的作用 主从复制工作流程 阶段一:建立连接阶段 主从连接(slave连接master) 第一种方式 第二种方式 第三种方式 授权访问 阶段二: ...

  5. GPU—加速数据科学工作流程

    GPU-加速数据科学工作流程 GPU-ACCELERATE YOUR DATA SCIENCE WORKFLOWS 传统上,数据科学工作流程是缓慢而繁琐的,依赖于cpu来加载.过滤和操作数据,训练和部 ...

  6. WifiP2pSettings工作流程

    本文为<深入理解Android Wi-Fi.NFC和GPS卷>读书笔记,Android源码为Android 5.1 Android平台中,P2P操作用户只需执行如下三个步骤: 1)进入Wi ...

  7. travis ci_如何使用Travis CI和GitHub进行Web开发工作流程

    travis ci by Vijayabharathi Balasubramanian 通过Vijayabharathi Balasubramanian 如何使用Travis CI和GitHub进行W ...

  8. Nginx源码分析:master/worker工作流程概述

    nginx源码分析 nginx-1.11.1 参考书籍<深入理解nginx模块开发与架构解析> Nginx的master与worker工作模式 在生成环境中的Nginx启动模式基本都是以m ...

  9. 你的生产型ML复现不了,可能是工作流程出了问题

    2020-10-19 14:33:28 选自maiot blog 作者:Benedikt Koller 机器之心编译 编辑:Panda.张倩 在机器学习社区,越来越多的人开始讨论研究的可复现性,但这些 ...

  10. 小程序工程化实践(上篇)-- 手把手教你撸一个小程序 webpack 插件,一个例子带你熟悉 webpack 工作流程...

    本文基于 webpack 4 和 babel 7,Mac OS,VS Code 小程序开发现状: 小程序开发者工具不好用,官方对 npm 的支持有限,缺少对 webpack, babel 等前端常用工 ...

最新文章

  1. AI一分钟 | 柯洁战胜AI“求报道”,期待正式与围棋AI下让子棋;小米MIUI 10全面启动,主打人工智能人机交互
  2. 肝!分享这3个京东实战项目!(知识图谱拿走不谢)
  3. 8-1-Filter过滤器
  4. DPDK 跟踪库tracepoint源码实例分析
  5. bzoj 1024 [SCOI2009]生日快乐
  6. python--递归、二分查找算法
  7. python whl文件下载地址
  8. 跨平台 H264 H265/HEVC 编解码 硬件加速
  9. idea用token登陆github_Vue 页面权限控制和登陆验证
  10. xfs文件系统修复问题
  11. 14年第五届蓝桥杯C/C++大学B组真题———史丰收算法
  12. ltm是什么门的缩写_ltm的含义,ltm是什么的缩写,ltm的词语,ltm代表的意思
  13. 数据集成是开放数据库还是接口?
  14. 深度学习硬件环境配置
  15. hdu 4379The More The Better
  16. 怎么看待《百度清风算法3.0》?
  17. python百科全书_【技术观点】手把手教你用Python读懂全球最大百科全书
  18. 将数组作为参数进行传递(转)
  19. 关于显示器显示输入信号超出范围,请调整为1600x900@60hz解决办法
  20. 【分享】后厂村鲜为人知的另一面

热门文章

  1. Docker 日常指令
  2. 浏览器请求静态资源的流程
  3. jQuery学习之路(1)-选择器
  4. 多个table 相同col 的 设置相同width
  5. 支付宝玉伯:我心目中的优秀API
  6. 在java中获取当前系统时间 插入数据库中的时间值没有时间只有日期的原因...
  7. 如何进行各种码制数据之间转换
  8. 新华三模拟器STP和RSTP及其MSTP的作用与配置
  9. python获取图片大小_Python实现获取本地及远程图片大小的方法示例_python_脚本中心...
  10. CMake语法及CMakeList.txt简单使用