为什么Redis 单线程却能支撑高并发

举报
小鲍侃java 发表于 2021/09/09 23:36:15 2021/09/09
【摘要】 一.纯内存操作 二.核心是基于非阻塞的 IO 多路复用机制 三.单线程反而避免了多线程的频繁上下文切换问题 个人理解 1:db操作需要操作磁盘 涉及到io所有效率肯定比内存效率低                2:个人理解就是,redis一次请求需要...

一.纯内存操作

二.核心是基于非阻塞的 IO 多路复用机制

三.单线程反而避免了多线程的频繁上下文切换问题

个人理解 1:db操作需要操作磁盘 涉及到io所有效率肯定比内存效率低

               2:个人理解就是,redis一次请求需要 连接应答处理器,命令请求处理器,命令回复处理,而这个io多路复制机制就是会同时监控多个请求,同时把每个请求标记上状态放入队列,然后在调用时直接放松给处理器就可以了。这样就省去了判断请求到达了哪一步,去识别该交于那个处理器这个过程。

              3:如果是多线程,应该需要记录上一线程数据的内存,而每次线程的变换都需要去处理这块内存,肯定要话费一定时间。

文章来源: baocl.blog.csdn.net,作者:小黄鸡1992,版权归原作者所有,如需转载,请联系作者。

原文链接:baocl.blog.csdn.net/article/details/103080790

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。