标签:导致 复杂度 span 网络 外网 网络请求 唤醒 epo 缓冲
线程IO模型
Redis 是个单线程程序!(对外网络请求服务)
对于那些时间复杂度为 O(n) 级别的指令,一定要谨慎使用,一不小心就可能会导致 Redis 卡顿。
使用缓冲区,事件轮询 API(Linux操作系统提供的select,poll,epoll),非阻塞 IO(能读多少读多少,能写多少写多少,读方法和写方法都会通过返回值来告知程序实际读写了多少字节)。
注:epoll无须遍历整个被侦听的描述符集(fd),只要遍历那些被内核IO事件异步唤醒的描述符集合,select与poll是全轮询。
通信协议
标签:导致 复杂度 span 网络 外网 网络请求 唤醒 epo 缓冲
原文地址:https://www.cnblogs.com/weswes/p/10019498.html