【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
redis为什么会设计成单线程?
使用io多路复用模型,请求先入队列,命令是顺序执行的,但不会产生并发问题,
1发送命令
2执行命令
3返回结果

为什么单线程还很快?
1内存访问,内存响应时间是100ns,这是达到每秒万级别访问的基础
2非阻塞io,epoll作为io多路复用的实现,再加上redis中自身事件处理模型将epoll中
连接,读写,关闭都转换成事件,不在网络io上浪费太多时间
3单线程避免了线程切换和竞态产生的消耗
来源:oschina
链接:https://my.oschina.net/iioschina/blog/3141891