用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
软件与程序人生
›
云原生
›
Redis进阶之路:深析Redis单线程架构,图文并茂非常值得 ...
Redis进阶之路:深析Redis单线程架构,图文并茂非常值得收藏 ...
商道如狼道
论坛元老
|
2024-7-26 03:38:05
|
来自手机
|
显示全部楼层
|
阅读模式
楼主
主题
1807
|
帖子
1807
|
积分
5421
Redis客户端与服务端的模子可以简化成下图,每次客户端调用都经历了发送命令、执行命令、返回结果三个过程。
我们说的单线程就是在第二步执行命令,一条命令从从客户端到达服务端不会立刻被执行,而是会进入一个队列中等候,每次只会有一条指令被选中执行。
发送命令、返回结果、命令列队这些就不是那么简单了,比方Redis利用了I/O多路复用技术来解决I/O的问题。
1.2、Redis为什么要利用单线程
这是官方的解释:
https://redis.io/topics/faq
官方FAQ表示,因为Redis是基于内存的操作,CPU成为Redis的瓶颈的环境很少见,Redis的瓶颈最有大概是内存的大小或者网络限制。
假如想要最大程度利用CPU,可以在一台机器上启动多个Redis实例。
官方FAQ表示,因为Redis是基于内存的操作,CPU成为Redis的瓶颈的环境很少见,Redis的瓶颈最有大概是内存的大小或者网络限制。
假如想要最大程度利用CPU,可以在一台机器上启动多个Redis实例。
值得一提的,网络上存在这样的观点:吐槽官方的解释有些敷衍,其实就是汗青缘故原由,开辟者嫌多线程贫困,后来这个CPU的利用问题就被抛给了利用者。
同时FAQ里还提到了, Redis 4.0 之后开始变成多线程,除了主线程外,它也有后台线程在处理一些较为缓慢的操作,比方清算脏数据、无用毗连的释放、大 Key 的删除等等。
1.3、为什么单线程还能这么快
通常来讲,单线程处理能力要比多线程差,那么为什么Redis利用单线程模子会到达每秒万级别的处理能力呢?可以将其归结为三点:
第一:纯内存访问,Redis将所有数据放在内存中,内存的响应时长大约为100纳秒,这是Redis到达每秒万级别访问的最紧张的根本。
第二:非阻塞I/O,Redis利用epoll作为I/O多路复用技术的实现,再加上Redis自身的事件处理模子将epoll中的毗连、读写、关闭都转换为事件,不在网络I/O上浪费过多的时间
这里再扩展一下I/O多路复用:
自我先容一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索发展或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学结果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开辟全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋侪,同时减轻大家的负担。
既有得当小白学习的零根本资料,也有得当3年以上履历的小同伴深入学习提升的进阶课程,根本涵盖了95%以上Java开辟知识点,真正体系化!
由于文件比较大,这里只是将部分目次截图出来,每个节点内里都包罗大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会连续更新!
假如你以为这些内容对你有帮助,可以扫码获取!!(备注Java获取)
一线互联网大厂Java核心面试题库
正逢面试跳槽季,给大家整理了大厂问到的一些面试真题,由于文章长度限制,只给大家展示了部分题目,更多Java根本、异常、集合、并发编程、JVM、Spring百口桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等已整理上传,感兴趣的朋侪可以看看支持一波!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》
,
点击传送门即可获取!
波!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》
,
点击传送门即可获取!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
商道如狼道
论坛元老
这个人很懒什么都没写!
楼主热帖
【python】实现文章同步csdn社区自动化 ...
SQLI-LABS(Less-5)
Scrum 框架的四个会议还适用于哪些敏捷 ...
Django生产环境静态资源404问题 ...
容器化 | 在 Rancher 中部署 MySQL 集 ...
如何利用ipad随时随地开发代码 ...
django 报错 'set' object is ...
2022 Delphi 11开发苹果IOS证书等详细 ...
MySQL数据库安装
MVCC - Read View的可见性判断理解 ...
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
IOS
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表