redis为什么会设计成单线程?

一笑奈何 提交于 2019-12-11 18:47:23

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

redis为什么会设计成单线程?

使用io多路复用模型,请求先入队列,命令是顺序执行的,但不会产生并发问题,

1发送命令

2执行命令

3返回结果

 

 

 

为什么单线程还很快?

1内存访问,内存响应时间是100ns,这是达到每秒万级别访问的基础

2非阻塞io,epoll作为io多路复用的实现,再加上redis中自身事件处理模型将epoll中

连接,读写,关闭都转换成事件,不在网络io上浪费太多时间

3单线程避免了线程切换和竞态产生的消耗

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!