最近有一道常见的Redis面试题,Redis为什么那么快?下面我们来分析下"快"的原因。
1.Redis基于内存进行读写数据
Redis的数据存储在内存上,而且也会持久化到硬盘上,内存在读写速度上相比硬盘有很大的优势,无论是机械硬盘(SSD)还是固态硬盘(HDD),都没法与其相比,Redis相比传统的关系型数据库Mysql使用硬盘储存快很多,可达到每秒数万访问。
2.Redis中数据结构比较简单
字符串、列表、哈希、集合、有序集合,都是专门设计的。
3.单线程IO多路复用模型
Redis是使用单线程来处理请求的,所以一条命令从客户端到达服务端不会立即被执行,所有的命令都会存放到一个队列中,然后逐个执行,单线程的设计省去上下文切换、竟态资源、锁等问题,Redis使用了IO多路复用技术解决IO问题