Redis为什么这么快?
作者:程序员马丁
note
热门项目实战社群,收获国内众多知名公司面试青睐,近千名同学面试成功!助力你在校招或社招上拿个offer。
答题思路
核心围绕存储方式、架构设计与使用方式回答:
回答话术
Redis 官方早前发布过一套基准测试,在 Redis 服务连接数小于 1 万时,并发数量每秒可以达到 10-12 万左右。连接数在 3-6 万 时,也能支持每秒 5-6 万的并发。
我觉得 Redis 之所以操作这么快,主要有以下几方面原因:
- 从存储方式上看:Redis 是基于内存的数据库,而直接访问内存的速度要比访问磁盘高上几个数量级。这是 Redis 快最主要的原因。
- 从设计上看:Redis 在架构上采用了 IO 多路复用提高了资源利用率,通过多线程非阻塞式 IO 提高请求的处理效率 ,使用单线程执行大部分命令以避免上下文切换,部分重命令则允许异步执行,并且在设计上针对最底层的数据结构进行了精细的优化,以保证任何操作都具备尽可能低的复杂度。
- 从使用方式上看:Redis 的功能非常纯粹,用户直接面向经过精心设计的数据结构进行操作,因此效率极高,此外,用户还可以根据自己的业务场景采用最合适的数据结构,这也间接提高了操作效率。
问题详解
1. 基于内存操作
Redis 是基于内存操作的数据库,这是它快的最根本原因。