欢迎来到天天文库
浏览记录
ID:30505196
大小:17.18 KB
页数:4页
时间:2018-12-30
《redis服务器的启动过程分析》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解Redis服务器的启动过程分析 本文将通过分析代码来介绍Redis的启动过程,通过查看Redis的启动脚本,得知Redis的启动时从Redis.c的main方法开始的。Redis启动可以分为以下几个步骤: 1.初始化Redis服务器全局配置 2.重置服务器Save参数(具体下文详解)和加载配置文件 3.初始化服务器 4.加载数据库 5.开始网络监听 一,初始化Redis服务器全局配置。这一步骤主要是主要是根据Redis.h中设置的
2、Static值来初始化Redis服务器配置,这里设置是Redis服务器的默认配置。如: ·TCPPort,RedisClient的缺省Timeout; ·Redis缺省的数据库数目; ·RedisAppend持久化方式的参数设置; ·Redis的所支持的各种数据结构的缺省值的设置; ·Redis内存Swap相关设置; ·RedisMaster&Slave相关的配置; ·RedisCommandTable初始化。 二,加载配置文件:对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地
3、接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 这一步是通过读取的配置文件来对Redis服务器进行设置,将会覆盖上一步的某些缺省设置。打开下载下来的Redis源代码,我们可以看到其根目录下有一个默认的配置文件redis.conf。需要注意的是,如果在启动Redis的时候没有指定配置文件,则Redis服务器在启动的时候是不会加载这个默认的配置文件进行配置的。而且这个默认的配置文件和第一步中得全局默认缺省配置不尽相同,比如针对Redis的Append模式的数据保存策略的配置,redis.conf里面的设
4、置是: save9001-------15分钟内一次更新 save30010------5分钟内10次更新 save6010000---1分钟内10000次更新。 而上一步里面的默认缺省配置确实: save60*601-------一个小时内1次更新 save300100------5分钟内100次更新 save6010000---1分钟内10000次更新。 因此我们在启动Redis的时候如果默认配置不能满足要求,则需要指明配置文件进行配置。 三,初始化服务器: 初始化服务器是在initServer()方法中完成的,次方法利用上两步设置的参数进一步初始化服务器:
5、 ·创建用来维护clients和slaves的list对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 ·创建共享对象。redisObject这个struct里有个变量叫做refcount,这个变量就是用来实现共享的。Redis的对象目前Redis只支持共享StringObject。Redis的共享对象有两大类比:第一类:Redisserver的各种操作需要经常用
6、到的各类对象,如:RedisCommand的分隔符"r",用于Rediscommand的reply的"+OKr"或者"-ERRr"等对象,因为在Redis的各种操作这类对象要被频繁使用,所以就在启动Redis的时候创建好,然后共用这些对象,减少时间成本和空间成本;第二,类的共享对象就是对应于数字的StringObject,如:Set"olylakers1"1234;Set"olylakes2"1234;在Redis内部,"olylakers1"和"olylakers2"这两个key都指向由数字1234转化的StringObject。这样在海量数据和特定存储内容下,
7、可以节省大量的内存空间。可用通过REDIS_SHARED_INTEGERS这个参数来指定Redis启动的时候创建多少个第二类共享对象,默认的参数是10000,即创建的StrongObject个取值范围是0-9999之间。 ·创建Pub/Sub通道 ·初始化网络监听EventLoop的相关内容,如eventLoop,timeEvent,fileEvent等 ·如果开启了VM,则初始化虚拟内存相关的IO/Thread 四,加载数据:对党的认识也有了进一步的提高。才
此文档下载收益归作者所有