您当前的位置: 首页 > 

壹小俊

暂无认证

  • 1浏览

    0关注

    885博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

异步机制:如何避免单线程模型的阻塞?

壹小俊 发布时间:2021-11-10 13:34:31 ,浏览量:1

Redis之所以被广泛应用,很重要的一个原因就是它支持高性能访问。也正因为这样,我们必须要重视所有可能影响Redis性能的因素(例如命令操作、系统配置、关键机制、硬件配置等),不仅要知道具体的机制,尽可能避免性能异常的情况出现,还要提前准备好应对异常的方案。

所以,从这节课开始,我会用6节课的时间介绍影响Redis性能的5大方面的潜在因素,分别是:

  • Redis内部的阻塞式操作;
  • CPU核和NUMA架构的影响;
  • Redis关键系统配置;
  • Redis内存碎片;
  • Redis缓冲区。

这节课,我们就先学习了解下Redis内部的阻塞式操作以及应对的方法。

在第三讲中,我们学习过,Redis的网络IO和键值对读写是由主线程完成的。那么,如果在主线程上执行的操作消耗的时间太长,就会引起主线程阻塞。但是,Redis既有服务客户端请求的键值对增删改查操作,也有保证可靠性的持久化操作,还有进行主从复制时的数据同步操作,等等。操作这么多,究竟哪些会引起阻塞呢?

别着急,接下来,我就带你分门别类地梳理下这些操作,并且找出阻塞式操作。

Redis实例有哪些阻塞点?

Redis实例在运行时,要和许多对象进行交互,这些不同的交互就会涉及不同的操作,下面我们来看看和Redis实例交互的对象,以及交互时会发生的操作。

  • 客户端:网络IO,键值对增删改查操作,数据库操作;
  • 磁盘
关注
打赏
1664335782
查看更多评论
立即登录/注册

微信扫码登录

0.0395s