Redis单线程高并发原理剖析.pdfVIP

  • 0
  • 0
  • 约2.8千字
  • 约 5页
  • 2026-08-29 发布于北京
  • 举报

原理1:鞭辟⼊⾥——线程IO

模型

Redis是个单线程程序!这点必须铭记。

也许你会怀疑⾼并发的Redis中间件怎么可能是单线程。很抱歉,

它就是单线程,你的怀疑了你基础知识的不⾜。莫要瞧不起单线

程,除了Redis之外,Node.js也是单线程,Nginx也是单线程,

但是它们都是服务器⾼性能的典范。

Redis单线程为什么还能这么快?

因为它所有的数据都在内存中,所有的运算都是内存级别的运算。正

因为Redis是单线程,所以要⼩⼼使⽤Redis指令,对于那些时间

复杂度为O(n)级别的指令,⼀定要谨慎使⽤,⼀不⼩⼼就可能会导

致Redis卡顿。

Redis单线程如何处理那么多的并发客户端连接?

这个问题,有很多中⾼级程序员都⽆法回答,因为他们没听过多路复

⽤这个词汇,不知道select系列的轮询API,没⽤过⾮阻塞

IO。

⾮阻塞IO

当我们调⽤套接字的读写⽅法,默认它们是阻塞的,⽐如read⽅法

要传递进去⼀个参数n,表示最多这么多字节后再返回,如果⼀

个字节都没有,那么线程就会卡在那⾥,直到新的数据到来或者连接

关闭了,read⽅法才可以返回,线程才能继续处理。⽽w

文档评论(0)

1亿VIP精品文档

相关文档