Redis是一个单进程单线程单实例的缓存框架,但是照样做到了大数据量的吞吐,是因为什么呢?
1、Redis在请求内核的时候,在过路的路上有用到一个叫做epoll的组件
2、epoll实现了线程的多路复用,并且在中间还增加了一个共享位置,这样,当JVM中的数据和内核的数据在做交换数据的时候,还有通过select查出来符合条件的数据,使得IO减少
3、epoll还有一个sendfile0拷贝系统操作