Redis是大型架构核心,下面我详解Redis性能快原因@mikechen
纯内存操作:速度的根基
Redis 将所有数据都,存储在 内存 中。
这意味着所有的读写操作都直接在 RAM 中进行,避免了传统数据库在数据查询时需要进行缓慢的磁盘 I/O 操作(寻道、旋转等)。

毫秒到微秒级的响应: 内存的访问速度比固态硬盘(SSD)快几个数量级。
比机械硬盘(HDD)更是快上万倍,因此 Redis 的响应时间通常在 毫秒甚至微秒 级别。
单线程架构:极简高效
Redis 的“单线程”,指的是 主线程 只有一个,它负责处理客户端发来的 所有命令请求(如 GET, SET, HGETALL 等)。
Redis 的命令操作大多是 纯内存操作(I/O 时间很短),速度极快,CPU 很快就能处理完。

Redis 的瓶颈,通常出现在网络 I/O 而非 CPU 上。
因此,单线程足以高效地处理请求,而不会因等待磁盘 I/O 而阻塞。
I/O多路复用:并发的关键
I/O 多路复用技术(如 epoll 或 select/poll) ,来监听多个 Socket 连接的读写事件。
当有数据准备好时,Redis 线程才进行处理,这使得单个线程能够高效地处理数以万计的并发连接。

I/O 多路复用,是一种高效的网络编程技术。
它允许单个线程同时监听,多个文件描述符(File Descriptor, FD,在网络编程中即 Socket 连接)。
并在任何一个 FD 准备好进行读写操作时(例如,客户端发送了数据过来),通知这个线程进行处理。
高效的数据结构:性能的武器
Redis 实现了多种,复杂且高效的数据结构。
如 跳跃表 (Skip List) 用于实现有序集合 (Sorted Set),压缩列表 (Zip List) 或 哈希表 (Hash Table) 用于存储哈希结构等。

这些数据结构使得 Redis 能够在大多数操作(如查找、插入、删除)中实现 O(1) 或 O($\log N$) 的时间复杂度。