Redis 块的原理
Redis最显著的特性就是“快”。根据官方基准测试数据,Redis的读取速度可达110,000次/秒,写入速度可达81,000次/秒。这种卓越的性能主要得益于以下三个核心设计:
纯内存访问:Redis将数据存储在内存中,而非磁盘上。内存的读写速度是磁盘的成千上万倍,这是Redis高性能的基石。
非阻塞I/O(I/O多路复用模型):Redis采用了I/O多路复用机制,使用单线程来监听多个Socket连接,能够高效地处理大量并发的网络连接,而不会因为等待I/O操作而阻塞。
单线程模型:这是 Redis 设计中极具特色的一点。
• Redis 的命令执行阶段始终是单线程的。这避免了多线程频繁切换带来的 CPU 消耗,也无需处理复杂的锁竞争(如死锁),保证了操作的原子性。
• Redis 6.0 的改进:Redis 的内存读写非常快,其性能瓶颈在于网络 IO 而非 CPU,因此,Redis 6.0 引入多线程处理网络 IO 以提升性能。需要注意的是,其命令的实际执行依然是在主线程中串行完成的。
• 后台线程:此外,Redis 还使用后台线程处理耗时操作(如 AOF 刷盘、大 Key 的异步删除),防止阻塞主线程。
