• Spring Cloud微服务实战 打造企业级优惠券系统 2-6 Redis的I/O模型(概念)(面试)


    0    课程地址

    https://coding.imooc.com/lesson/380.html#mid=28222

    1    个人收获

    多路复用场景

    2    课程内容

    2.1  为何使用多路复用

    redis 在单线程中,所有操作都是线性操作,所以i/o操作堵塞后,将不能返回。在多个客户端的时候,导致整个进程堵塞无法对其他客户端服务。(详细见上节)

    2.2  多路复用场景

    Blocking I/o 阻塞IO:当read/write对某一个文件描述符(FD)进行读写时,如果当前对FD不可读或不可写,则服务阻塞。对于处理多个客户端应用时,不选择此模型

    2.3  Redis的Reactor设计模式

     

     每一个网络连接对应一个文件描述符(客户端),redis客户端共同对redis服务器发起操作,文件处理器使用io多路复用模块监听多个文件描述符,当socket的就绪状态时(可读可写连接),文件处理器回调文件描述符绑定的事件处理器。虽然事件处理器在单线程运行,但是通过io多路复用实现同时对多个文件描述符的监控,提高了网络通信的性能。

    2.4  Redis多个多路复用函数,会如何选择?

    redis优先选择时间复杂度低的io多路复用函数作为底层实现,如果没有相关的高级函数epoll,qq等,会选择select作为备选方案。

    2.5  为何生产上一般不用windows作为redis服务端?

    windows一般只有select函数,最多只能同时服务1024个文件描述符,所以一般不会部署在windows上。

    诸葛
  • 相关阅读:
    状压dp学习笔记
    dbcc log(转)
    日志分析 操作(转)
    Sql server 2005系统表详细说明
    c#读取并分析sqlServer据库日志(转)
    [POJ]1915 Knight Moves
    [JOY]1143 飘飘乎居士的约会
    [POJ]1164 The Castle
    win7注册ocx时出现对DllRegisterServer的调用失败,错误代码为0x80040200解决方案
    注册DLL、OCX的方法
  • 原文地址:https://www.cnblogs.com/1446358788-qq/p/14260474.html
Copyright © 2020-2023  润新知