Redis(四):Redis服务器的初始化

1. Redis服务器初始化流程

2. 初始化服务器默认参数(initServerConfig)

3. 加载配置文件(loadServerConfig)

4. 初始化服务器数据结构(initServer)

5. 还原数据库状态(loadDataFromDisk)

6. 执行事件主循环(aeMain)


1. Redis服务器初始化流程

    redis服务器的初始化流程如下图所示,这里不包含哨兵模式和集群模式的流程,哨兵和集群模式的流程将在后面的博客中介绍。

            

2. 初始化服务器默认参数initServerConfig

    第一步是创建一个struct redisServer类型的实例变量server作为服务器的状态,并为结构中的各个属性设置默认值。初始化服务器的状态主要完成的主要工作包括:

(1)设置服务器运行ID(server.runid)为一个根据时间戳生成的一个随机数

(2)设置服务器的serverCron函数的默认运行频率(server.hz)为10次每秒,即100ms调用一次

(3)设置服务器的默认配置文件路径(server.configfile)为空

(4)设置服务器的运行架构,32位或者64位(server.arch_bits),一般为64位

(5)设置服务器的默认端口号(server.port)为6379

(6)设置服务器listen函数的backlog(server.tcp_backlog)为511

(7)设置服务器的默认数据库个数(server.dbnum)为16

(8)设置服务器的日志级别(server.verbosity)为REDIS_NOTICE

(9)设置服务器键的最大空转时长(server.maxidletime)为0

(10)设置服务器TCP的keepalive为0

(11)设置服务器的过期键策略(server.active_expire_enabled)为使能状态

(12)设置客户端最大查询缓冲区大小(server.client_max_querybuf_len)为1GB

(13)设置RDB的保存条件(server.saveparams)为NULL

(14)设置服务器是否使能系统日志(server.syslog_enabled)为0

(15)设置服务器是否作为守护进程运行(server.daemonize)为0

(16)设置AOF持久化策略(server.aof_state)为关闭

(17)设置服务器默认的AOF持久化条件(server.aof_rewrite_perc、server.aof_rewrite_min_size、server.aof_rewrite_base_size)

(18)设置服务器的最大客户端数量(server.maxclients)为1000

(19)设置服务器的最大内存限制(server.maxmemory)为0,即对内存无限制使用

(20)设置服务器的LRU淘汰策略(server.maxmemory_policy)为REDIS_MAXMEMORY_NO_EVICTION

(21)设置服务器的LRU淘汰策略的样本数(server.maxmemory_samples)为5

(22)初始化服务器的LRU时钟(server.lruclock)

(23)设置RDB持久化的保存条件(server.saveparams)

(24)设置和主从复制相关的状态

(25)设置PSYNC命令所使用的backlog

(26)设置客户端输出缓冲区限制(server.client_obuf_limits[])

(27)初始化服务器的命令表字典(server.commands)&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值