当前位置:   article > 正文

redis网络模型_redis的网络模型

redis的网络模型

用户空间与内核空间

对于用户空间,实质就是操作系统上安装的软件。我们通过操作这些软件通过操作系统(也就是内核空间)来操作硬件。

当要进行写操作读操作,实质就是在用户空间和内核空间各自的缓冲区数据的来回转换。

IO多路复用(作用:用来提高网路性能,因为redis是基于内存操作)

redis单线程 监听多个FD(文件描述符,也可以称为请求),当有FD可写可读时,就去执行文件,这样就避免了cpu过多的无效等待(实质是处理当前请求时阻塞,后续的请求也会阻塞。因为单线程处理

多路复用—— select

缺点:需要去遍历监听的FD,因为无法确定哪个FD可读可写。监听的数量有限,最多1024

多路复用—— poll

缺点:需要去遍历监听的FD,因为无法确定哪个FD可读可写,监听无上限(监听较多会影响效率,性能降低)。

多路复用—— epoll

该模式用 红黑树记录所有的监听FD,用链表记录 已经在红黑树就绪的FD并返回,这样就可以不用让用户空间去遍历所有的FD。还可以减少重复的拷贝FD。

为什么redis单线程?

redis是一个纯内存操作,如果是多线程只会改变程序执行的速度,而对于内存的操作影响的原因是网络的延迟。并且多线程会有线程上下文的切换,也会带来不必要的开销

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/978337
推荐阅读
相关标签
  

闽ICP备14008679号