Redis 是什么?
- 是一个基于内存读写的数据库,数据存储形式是key-value键值对
- 由于是基于内存读写,所以访问速度很快,常用于缓存数据,减轻数据库压力,提高系统性能
单线程架构图
单线程指的是什么?
- 从网络I/O处理到读写命令的执行,都是由单个线程完成的
单线程为什么这么快?
- 1、基于内存读写:内存的访问速度很快
- 2、采用高效的数据结构:每种数据结构都有对应的底层编码实现,而且是多种实现,可以在不同的应用场景下选择合适的编码,提高性能
- 3、采用I/O多路复用机制:处理大量的客户端请求
I/O多路复用模型是什么样的?
- 有多个套接字监听不同的请求,当请求到达时会触发事件(连接事件/读事件/写事件),Redis将这些事件,分发给对应的处理函数,这样就不会阻塞在某一个请求上