发布网友 发布时间:2023-08-06 17:13
共1个回答
热心网友 时间:2024-11-23 01:36
在服务端,跟服务器连接的所有客户端都对应一个 redisClient 结构体;当服务器接收到某个客户端发来的命令请求时,先将字符串存到对应的 redisClient 结构体的缓冲区中,然后调用分析器进行分析,提取出对于的 argv 和 argc ;然后根据 argv[0] 到命令表中查找对应的执行函数,进行执行(命令表是一个字典,key就是命令名,比如 SET ,value就是对应的 redisCommand 结构体,保存了函数指针,所需参数个数,等信息),当然,执行之前还需要进行检查,比如权限是否匹配,输入参数是否有效等等。
执行完毕后,将执行结果保存在 redisClient 的缓冲区中,随后向客户端所关联的socket发送信息即可。
cron是时辰的意思,意味着这个函数需要定期执行,它的目的是管理服务器的资源,保证其良好运行。资源管理会涉及到很多方面的细节: