redis是单线程的为什么还这么快?
Redis是纯内存操作,执行速度非常快
采用单线程,避免不必要的上下文切换可竞争条件,多线程还要考虑线程安全问题
使用I/O多路复用模型,非阻塞IO
下面为了介绍单线程和IO多路复用模型,我们先介绍以下内容:
用户空间和内核空间
简单来讲,就是用户空间不能直接调用硬件设备,需要使用内核空间,且二者都有一块缓冲区缓冲数据。
Redis是纯内存操作,执行速度非常快
采用单线程,避免不必要的上下文切换可竞争条件,多线程还要考虑线程安全问题
使用I/O多路复用模型,非阻塞IO
下面为了介绍单线程和IO多路复用模型,我们先介绍以下内容:
简单来讲,就是用户空间不能直接调用硬件设备,需要使用内核空间,且二者都有一块缓冲区缓冲数据。