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线程处理,真正执行命令的仍是单线程(主线程)

 

posted @ 2022-04-26 15:40  Soleili  阅读(49)  评论(0编辑  收藏  举报