16,Redis为什么这么快 select ,poll,epoll

本文探讨了Redis作为一款单线程数据库的高效运作原理。通过对比同步与异步、阻塞与非阻塞的不同处理方式,解释了Redis如何利用单线程模型实现高性能。此外,还涉及了I/O多路复用技术如select、poll及epoll的应用,这些技术是Redis能够高效处理大量并发连接的关键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis是单线程为什么这么快

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

同步

被调用者要一直等待调用结果的通知后才能进行后续的操作,现在就要,我可以等到出结果为止。

异步

被调用方先返回应答让调用者先回去,然后再计算调用结果,计算完最终结果后返回给调用方(一般通过回调)

同步和异步的讨论对象是被调用者,重点在于获取调用结果的消息通知方式上。

阻塞

调用方一直等待而且什么事都不做,当前线程挂起,啥都不干

非阻塞

调用方先去忙别的事,不会阻塞当前线程,立即返回

阻塞和非阻塞主要是调用者在等消息都时候能否干其他事

BIO

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

NIO

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

IO多路复用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

select

![ ](https://img-blog.csdnimg.cn/acdb1586d5054c90b96d2b0c994f9bc0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Zyf5ouo6byg6aWy5YW75ZGY
,size_17,color_FFFFFF,t_70,g_se,x_16)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

poll

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

epoll

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

对比

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值