redis为什么快?
在redis3.0版本是是单线程,多路io复用,并且redis作用在内存中,其数据结构经过专门设计,多路复用加非阻塞io,这样使的redis没有锁的开销和上下文切换,所以redis快
但是在3.0版本开始,在删除较大key时,因为单线程的原因,会导致在删除时主线程卡顿,所以在之后版本中引入了多线程
在redis4.0版本时redis开始引入多线程,在处理较大key删除时,使用多线程的惰性删除,让主线程不在那么卡顿
在redis中,因为redis在内存中工作,所以使redis变慢的只有内存和网络带宽,而并非cpu
在人人大内存大时代,只有在网络带宽下手使redis变快
在redis6.0版本开始,redis真正开始成为多线程。虽然在redis6.0版本开始,工作线程仍为单线程,但是其余开始使用多线程
redis6.0将网络数据读写,请求协议解析等通过多个io线程处理,真正执行命令的仍是单线程(主线程)