title: redis是个单线程的程序，为什么会这么快呢？每秒10000？这个有点不解，具体是快在哪里呢？EPOLL？内存？
desc: 希望牛人帮我解释一下原因
topic: Redis
content: 总体来说快速的原因如下： 1）绝大部分请求是纯粹的内存操作（非常快速） 2）采用单线程，避免了不必要的上下文切换和竞争条件 3）非阻塞IO 内部实现采用epoll，采用了epoll自己实现的简单的事件框架。epoll中的读写关闭连接都转化成了事件，然后利用epoll的多路复用特性，绝不在io上浪费一点时间 这3个条件不是相互独立的，特别是第一条，如果请求都是耗时的，采用单线程吞吐量及性能可想而知了。应该说redis为特殊的场景
answerer_tags: IT，web