redis单线程架构解析

简介

Redis使用单线程架构和I/0多路复用模型来实现高性能的内存数据库服务

单线程模型介绍

redis单线程架构解析_第1张图片
redis单线程架构解析_第2张图片
redis单线程架构解析_第3张图片

redis单线程架构解析_第4张图片

Redis单线程的优势

  • Redis是基于内存的,数据都存放在内存中,访问速度极快,这是Redis达到每秒万级别访问的重要基础
  • 非阻塞的I/O,Redis使用epoll作为I/O多路复用技术的实现,加上Redis自身的事件处理模型将epoll中的连接、读写、关闭都转换成事件,不在网络I/O上浪费过多的时间
  • 单线程避免了线程切换和竞态产生的消耗,对于服务端来说,锁和线程切换通常是性能杀手
  • 单线程可以简化数据结构和算法的实现,并发数据结构实现困难而且测试麻烦,

单线程的缺点

对于每个命令的执行时间有要求,如果某个命令执行时间过长,会造成其他命令阻塞,对于Redis这种高性能的服务来说是致命的,Redis是面向快速执行场景的数据库。

你可能感兴趣的:(redis)