当前位置: 首页 > news >正文

9 redis,memcached,nginx网络组件

课程目标:
1.网络模块要处理哪些事情
2.reactor是怎么处理这些事情的
3.reactor怎么封装
4.网络模块与业务逻辑的关系
5.怎么优化reactor?

在这里插入图片描述

io函数 函数调用 都有两个作用:io检测 是否就绪  io操作
1. int clientfd = accept(listenfd, &addr, &len); 检测 全连接队列是否有数据
2. int n = read(clientfd, buf, sz);
3. int n = write(clientfd, buf, sz);

read就是将东西从read buffer(读缓冲区)中读出。write就是将东西从write buffer(写缓冲区)中写入。

对于客户端而言,怎么知道链接建立成功,主要通过connect返回值(三次握手时是否收到服务端的ack)

上面函数都是同步io。对于select\poll\epoll都是同步io,reactor是事件驱动。

io多路复用就是检测io是否就绪。但是他不进行io操作。就是就绪了就来通知你

reactor就是把对io的操作转化成对事件的处理。所以在reactor中io是同步的,事件是异步的。异步io是用的io-using

reactor就是用io多路复用来同时检测多个io是否就绪,io操作由io函数来做。这是因为在我们服务器在同一时刻只有少量的客户端是跟服务器有交互的。所以交互就由io函数来

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 单/多线程--协程--异步爬虫
  • 洛谷 P2141 [NOIP2014 普及组] 珠心算测验
  • Harris点云关键点检测
  • 三、docker配置阿里云镜像仓库并配置docker代理
  • 使用瀚高数据库开发管理工具进行数据的备份与恢复---国产瀚高数据库工作笔记008
  • 使用Python绘制堆积柱形图
  • Ubuntu22.04使用/etc/rc.local开机启动程序
  • Stable Diffusion:最全详细图解
  • Leetcode1115 交替打印 FooBar及其测试
  • 这款新的 AI 语音助手击败了 OpenAI,成为 ChatGPT 最受期待的功能之一
  • Java 7新特性深度解析:提升效率与功能
  • Java中的数据可视化与图表库选择
  • 【TORCH】绘制权重分布直方图,权重torch.fmod对torch.normal生成的随机数进行取模运算
  • Codeforces Round 954 (Div. 3)
  • 软件设计之Java入门视频(12)
  • [ JavaScript ] 数据结构与算法 —— 链表
  • Angularjs之国际化
  • Apache Zeppelin在Apache Trafodion上的可视化
  • ES6语法详解(一)
  • quasar-framework cnodejs社区
  • SQLServer插入数据
  • ucore操作系统实验笔记 - 重新理解中断
  • 从tcpdump抓包看TCP/IP协议
  • 对超线程几个不同角度的解释
  • 驱动程序原理
  • 写给高年级小学生看的《Bash 指南》
  • 原生 js 实现移动端 Touch 滑动反弹
  • 正则表达式小结
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​Redis 实现计数器和限速器的
  • #Datawhale AI夏令营第4期#AIGC方向 文生图 Task2
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • $.each()与$(selector).each()
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (06)金属布线——为半导体注入生命的连接
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (接口自动化)Python3操作MySQL数据库
  • (一)Neo4j下载安装以及初次使用
  • (转)3D模板阴影原理
  • (转)memcache、redis缓存
  • (转载)虚函数剖析
  • .bat批处理(六):替换字符串中匹配的子串
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .Net CoreRabbitMQ消息存储可靠机制
  • .Net Web项目创建比较不错的参考文章
  • .NET 某和OA办公系统全局绕过漏洞分析
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET8使用VS2022打包Docker镜像
  • .NET编程C#线程之旅:十种开启线程的方式以及各自使用场景和优缺点
  • @Autowired和@Resource装配
  • @private @protected @public
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成