ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

redis大体执行过程

2022-08-05 17:03:10  阅读:14  来源: 互联网

标签:大体 请求 redis 命令 缓冲区 服务器 执行 客户端


what:

  redis服务器执行的大体流程:

    1、client向服务器发送请求命令;

    2、redis服务器从请求中读取命令,并交给“请求处理器”去执行;

      大体分为:a、请求保存到输入缓冲区里面;b、解析协议,提取出命令参数,保存到客户端状态argv和argc属性;c、调用命令执行器,执行客户端请求命令;

 

     3、命令执行:

      大体分为:查找命令 -> 执行预处理 -> 执行命令实现函数 -> 后续处理

      查找命令:就是查找命令(如:set命令)对应的redisCommand结构。对于set命令,set是key,redisCommand结构是value。其中redisCommand里面有很多属性。

      执行预处理:为了确保命令可以正确顺利地被执行,做的一些前期检查和准备;

      执行命令实现函数:执行操作:client>cmd>proc(client),产生响应回复。回复会被保存到输出缓冲里面,就是buf属性和reply属性。之后函数还会为客户端的套接字关联命令回复处理器。当客户端套接字变成可写状态时,服务器就是执行命令回复处理器。将保存在客户端输出缓冲区的数据发送给客户端。发送完成后,会把输出缓冲区清空。

      后续处理:如,服务器开启了AOF持久化功能,那么AOF持久化模块会将刚刚执行的命令请求写入到AOF缓冲区里面;如,有其他从服务器正在复制当前这个服务器,那么服务器会将刚刚执行的命令传播给所有从服务器。

 

标签:大体,请求,redis,命令,缓冲区,服务器,执行,客户端
来源: https://www.cnblogs.com/sfzlstudy/p/16554985.html

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有