Redis为什么快呢?

redis的速度非常的快,单机的redis就可以支撑每秒10几万的并发,相对于mysql来说,性能是mysql的几十倍。速度快的原因主要有几点:

  1. 完全基于内存操作

  2. C语言实现,优化过的数据结构,基于几种基础的数据结构,redis做了大量的优化,性能极高

  3. 使用单线程,无上下文的切换成本

  4. 基于非阻塞的IO多路复用机制

那为什么Redis6.0之后又改用多线程呢?

redis使用多线程并非是完全摒弃单线程,redis还是使用单线程模型来处理客户端的请求,只是使用多线程来处理数据的读写和协议解析,执行命令还是使用单线程。

这样做的目的是因为redis的性能瓶颈在于网络IO而非CPU,使用多线程能提升IO读写的效率,从而整体提高redis的性能。

知道什么是热key吗?热key问题怎么解决?

所谓热key问题就是,突然有几十万的请求去访问redis上的某个特定key,那么这样会造成流量过于集中,达到物理网卡上限,从而导致这台redis的服务器宕机引发雪崩。

Redis为什么快,热key解决

针对热key的解决方案:

  1. 提前把热key打散到不同的服务器,降低压力

  2. 加入二级缓存,提前加载热key数据到内存中,如果redis宕机,走内存查询

相关文章:

  • 2021-09-03
  • 2022-01-22
  • 2021-07-06
  • 2021-07-04
  • 2021-12-10
猜你喜欢
  • 2022-12-23
  • 2021-08-15
  • 2022-01-20
  • 2021-08-26
  • 2022-02-20
  • 2022-12-23
相关资源
相似解决方案