首页 > 数据库 >Redis服务端命令请求处理

Redis服务端命令请求处理

时间:2022-09-02 15:23:37浏览次数:60  
标签:请求 cmd Redis 命令 回复 服务端 客户端

命令处理流程

1.Redis单线程单进程通过IO复用从文件事件中选出已经就绪的命令放入输入缓存区querybuffer
2.一个个取出querybuffer里的命令进行解析,解析argv和argc
3.通过argv[0]查命令dict,得到对应的函数指针cmd
4.调用cmd函数执行命令,对数据库进行操作
5.执行后续的操作,如果开启了AOF,还要将命令写入AOF缓存区;如果开启了复制,还要将命令发给从服务器
6.继续从文件事件中取出并处理下一个命令请求

如何将命令结果回复给客户端?

1.命令实现函数cmd会将回复保存服务端端的输出缓冲区
2.将客户端的fd关联回复回调函数
3.当客户端fd可写时,服务器会调用回复回调,将保存在输出缓冲区的回复发给客户端

标签:请求,cmd,Redis,命令,回复,服务端,客户端
From: https://www.cnblogs.com/lygin/p/16650047.html

相关文章

  • SpringBoot整合Redis
    14、SpringBoot整合Redis14.1、概述SpringBoot操作数据库:spring-data,jpa,jdbc,mongodb,redisSpringData也是和SpringBoot齐名的项目!说明:在SpringBoot2.x之后,原来使用的jed......
  • 4. 简述redis集群的实现原理
    4. 简述redis集群的实现原理  4.1RedisCluster工作原理 在哨兵sentinel机制中,可以解决redis高可用问题,即当master故障后可以自动将slave提升为master,从而可以......
  • 5、基于redis5的redis cluster部署
    5、基于redis5的rediscluster部署   5.1原生命令手动部署过程在所有节点安装redis,并配置开启cluster功能各个节点执行meet,实现所有节点的相互通信为各个m......
  • 1、简述redis特点及其应用场景
    1、简述redis特点及其应用场景 1.1redis特点速度快:10WQPS,基于内存,C语言实现单线程持久化支持多种数据结构支持多种编程语言功能丰富:支持Lua脚本,发布订阅......
  • 2. 对比redis的RDB、AOF模式的优缺点
    2. 对比redis的RDB、AOF模式的优缺点 2.1 redis的RDB模式2.1.1RDB模式工作原理  RDB(RedisDataBase):基于时间的快照,其默认只保留当前最新的一次快照,特点......
  • 3.实现redis哨兵,模拟master故障场景
    3.实现redis哨兵,模拟master故障场景实验拓扑图  3.1哨兵的准备实现主从复制架构哨兵的前提是已经实现了一个redis的主从复制的运行环境,从而实现一个一主两从基于......
  • redis异地多活
    what:异地多活:简单来说,就是在不同地域建立数据中心,每个数据中心在日常使用中都需要正常接入业务流量,做业务支撑。异地多活,也属于分布式架构的系统。......
  • 使用golang实现Redis中间件
    (一).RESP协议解释  RESP协议在Redis1.2被引入,直到Redis2.0才成为和Redis服务器通信的标准。这个协议需要在你的Redis客户端实现。RESP是一个支持多种数据类型的序列化协......
  • Flask 学习-34.restful-full 请求参数自定义参数校验类型 (reqparse.RequestParser()
    前言在校验请求参数的时候,除了一些基本的required=True,type类型外,还会遇到一些校验,比如是否为空,字符串长度,以及一些自定义的参数规则。add_argument参数下面是add_arg......
  • GaussDB(for Redis)即将亮相华为云快成长直播间,让成本直降75%!
    “828选华为云,实惠更实用”。当前,华为云828B2B企业节正如火如荼进行中。旨在帮助企业解决数字化转型难题,加速千行百业云上创新的华为云快成长企业科技直播间同步精彩开播,......