关于redis启动流程介绍
转载于: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启动流程介绍相关推荐
- Redis源码阅读01-读了一下redis启动流程涉及的源码我都读了个啥
阅读源码是学习一门技术的必经之路,经过1周左右的c语言入门学习,我就开始硬读redis的源码了.因为公司的多版本的改造,所以源码就选择redis6.x的最高版本redis6.2.7. 在阅读源码前,首 ...
- redis 启动_Redis介绍amp;安装amp;启动
Redis介绍安装 Redis是一个开源的key-value存储系统, 支持存储的value类型相对更多,string(字符串),list(链表),set(集合),zset(sorted set 有序 ...
- 移植u-boot-2012-10到tiny210v2(一)-----基本芯片介绍和启动流程介绍
软硬件环境 宿主机系统:Fedora10 U-boot版本:U-boot-2012-10 板子芯片:S5PV210(Contex-A8),512M DDR2,512M SLC Nand 交叉编译器:a ...
- linux系统编码启动,Linux启动流程介绍
一. 内核镜像Izmage被bootloader装载到内存中.zImage的入口代码是自引导程序.包含一些初始化代码.第一条指令在head.S文件中.解压内核,然后调用call_kernel启动vml ...
- Linux启动流程介绍
Linux基本的启动流程主要分成4个部分. 1.BIOS 阶段 在系统加电检测结束以后,由BIOS中的代码负责把引导器加载进入机器的内存中,控制权交给引导器. 2.Loader阶段 引导器负责确定Li ...
- Linux系统开机启动流程介绍
一.linux系统进程启动流程图: 二.简单概括描述linux系统从开机到登陆界面的启动过程 1.开机BIOS自检 2.MBR引导 3.grub引导菜单 4.加载内核 5.启动init进程 6.读取i ...
- linux开机引导进程是什么,Linux系统开机启动流程介绍
一.linux系统进程启动流程图: 二.简单概括描述linux系统从开机到登陆界面的启动过程 1.开机BIOS自检 2.MBR引导 3.grub引导菜单 4.加载内核 5.启动init进程 6.读取i ...
- RHEL5-4的启动流程介绍
1.Linux启动过程分析 ...
- linux基础命令介绍十三:启动流程
固件(firmware)是指设备最底层的,让设备得以运行的程序代码.简单理解就是:固定在硬件上的软件.计算机中的许多设备都拥有固件(如硬盘.鼠标.光驱.U盘等),在计算机启动过程中,最先读取的就是位于 ...
- istio组件介绍和启动流程
Istio各个Deployment包含的容器组件 Deployment 名称 Container和Port Container和Port istio-pilot pilot: 8080,15010 p ...
最新文章
- java list转成map对象_将List集合中的map对象转为List对象形式--封装类
- EBS查询当前LOV SQL
- matepad什么时候升级鸿蒙,华为MatePad Pro迎来EMUI 11正式版升级 后续可直接升级鸿蒙系统...
- 发那科karel机器人环境配置_湖北轻工职业技术学院-FANUC机器人授权培训中心正式授牌...
- C++ 读取两行不确定数量的整数
- windows CMD生成文件夹树状图(tree)命令(以图形显示驱动器或路径的文件夹结构)
- php 查看当前字符编码,PHP检测当前字符编码并转码
- 简单可行性报告模板_项目可行性报告模板分享!第三章主要内容
- 移除List中的元素,你的姿势对了吗?
- pic32用PICKIT3烧写bootloader
- 数电Day06:主从触发器和边沿触发器,触发器的逻辑符号,时序波形
- scrapy爬取动态网页
- 非常详尽,多图慎入:Wayland与Weston简介
- 2019学unity3d游戏开发必看
- 微服务研究 - Swoole框架-Swoft初探
- lower_bound和upper_bound的用法
- [《人件》摘录]: 生产力:赢得战役和输掉战争
- 百度之星 2017初赛第一场 1005 今夕何夕
- 读《C专家编程》总结(一)
- 基于RK3588的8K智能摄像机方案设计