转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/94.html?1455870894

1. 准备运行环境

* 设置oom handler​,zmalloc分配内存失败时调用
* 初始化随机种子,用于生成随机数
* 将server参数初始化为默认值  
* 创建命令与处理函数的映射表

2. 解析命令行参数、loadServerConfig()解析配置文件

* 配置文件会覆盖命令行指定的参数
* 无效的配置项或者不合理的配置值会导致redis无法正常启动

3. initServer()初始化服务

* 安装信号处理函数  
* 创建共享对象,redis预分配好常用的对象用于共享,以节省内存  
* 根据maxc lients配置调整max open files
*  创建全局db字典,每个db对应一个dict  
* 监听网络端口,安装事件处理器  
* 如果开启了aof,打开aof文件  
* 创建serverCron定时器

4. loadDataFromDisk()从rdb或aof文件加载数据

* load数据出错(比如文件格式乱掉)等会导致redis不能正常启动
* loading的过程中,redis仍能处理请求,但大部分请求都会回复-LOADING错误

5. aeMain()开始事件循环,接收客户端请求

监听文件描述符的事件处理函数初始化为acceptTcpHandler,新建立的连接的事件处理函数设置为readQueryFromClient,readQueryFromClient从网络连接上读取请求,解析出请求参

转载于:https://www.cnblogs.com/itxuexiwang/p/5201483.html

关于redis启动流程介绍相关推荐

  1. Redis源码阅读01-读了一下redis启动流程涉及的源码我都读了个啥

    阅读源码是学习一门技术的必经之路,经过1周左右的c语言入门学习,我就开始硬读redis的源码了.因为公司的多版本的改造,所以源码就选择redis6.x的最高版本redis6.2.7. 在阅读源码前,首 ...

  2. redis 启动_Redis介绍amp;安装amp;启动

    Redis介绍安装 Redis是一个开源的key-value存储系统, 支持存储的value类型相对更多,string(字符串),list(链表),set(集合),zset(sorted set 有序 ...

  3. 移植u-boot-2012-10到tiny210v2(一)-----基本芯片介绍和启动流程介绍

    软硬件环境 宿主机系统:Fedora10 U-boot版本:U-boot-2012-10 板子芯片:S5PV210(Contex-A8),512M DDR2,512M SLC Nand 交叉编译器:a ...

  4. linux系统编码启动,Linux启动流程介绍

    一. 内核镜像Izmage被bootloader装载到内存中.zImage的入口代码是自引导程序.包含一些初始化代码.第一条指令在head.S文件中.解压内核,然后调用call_kernel启动vml ...

  5. Linux启动流程介绍

    Linux基本的启动流程主要分成4个部分. 1.BIOS 阶段 在系统加电检测结束以后,由BIOS中的代码负责把引导器加载进入机器的内存中,控制权交给引导器. 2.Loader阶段 引导器负责确定Li ...

  6. Linux系统开机启动流程介绍

    一.linux系统进程启动流程图: 二.简单概括描述linux系统从开机到登陆界面的启动过程 1.开机BIOS自检 2.MBR引导 3.grub引导菜单 4.加载内核 5.启动init进程 6.读取i ...

  7. linux开机引导进程是什么,Linux系统开机启动流程介绍

    一.linux系统进程启动流程图: 二.简单概括描述linux系统从开机到登陆界面的启动过程 1.开机BIOS自检 2.MBR引导 3.grub引导菜单 4.加载内核 5.启动init进程 6.读取i ...

  8. RHEL5-4的启动流程介绍

    1.Linux启动过程分析                                                                                        ...

  9. linux基础命令介绍十三:启动流程

    固件(firmware)是指设备最底层的,让设备得以运行的程序代码.简单理解就是:固定在硬件上的软件.计算机中的许多设备都拥有固件(如硬盘.鼠标.光驱.U盘等),在计算机启动过程中,最先读取的就是位于 ...

  10. istio组件介绍和启动流程

    Istio各个Deployment包含的容器组件 Deployment 名称 Container和Port Container和Port istio-pilot pilot: 8080,15010 p ...

最新文章

  1. java list转成map对象_将List集合中的map对象转为List对象形式--封装类
  2. EBS查询当前LOV SQL
  3. matepad什么时候升级鸿蒙,华为MatePad Pro迎来EMUI 11正式版升级 后续可直接升级鸿蒙系统...
  4. 发那科karel机器人环境配置_湖北轻工职业技术学院-FANUC机器人授权培训中心正式授牌...
  5. C++ 读取两行不确定数量的整数
  6. windows CMD生成文件夹树状图(tree)命令(以图形显示驱动器或路径的文件夹结构)
  7. php 查看当前字符编码,PHP检测当前字符编码并转码
  8. 简单可行性报告模板_项目可行性报告模板分享!第三章主要内容
  9. 移除List中的元素,你的姿势对了吗?
  10. pic32用PICKIT3烧写bootloader
  11. 数电Day06:主从触发器和边沿触发器,触发器的逻辑符号,时序波形
  12. scrapy爬取动态网页
  13. 非常详尽,多图慎入:Wayland与Weston简介
  14. 2019学unity3d游戏开发必看
  15. 微服务研究 - Swoole框架-Swoft初探
  16. lower_bound和upper_bound的用法
  17. [《人件》摘录]: 生产力:赢得战役和输掉战争
  18. 百度之星 2017初赛第一场 1005 今夕何夕
  19. 读《C专家编程》总结(一)
  20. 基于RK3588的8K智能摄像机方案设计

热门文章

  1. Redis配置文件redis.conf参数详解
  2. FMS集群的安装和配置
  3. 禁止拖放对象文本被选择的方法
  4. Ruby on Rails -跑起来吧hello World!
  5. ISA 2004 Site-To-Site ×××截图详解
  6. PHP设计模式——建造者模式
  7. 夯实Java基础(八)——代码块
  8. SharePoint 网站搬迁
  9. 流畅的Python---list排序和保持有序序列
  10. 洛谷P3195 [HNOI2008]玩具装箱TOY——斜率优化DP