Redis 高频面试题
为啥Redis是单线程的为什么还是特别快?
首先明确一个观念:单线程 !=慢 (计算机专业能看懂该符号的)
Redis 的快是建立在它独特的架构和内存特性之上的。Redis 之所以能在单线程下达到每秒 10万+ 的 QPS,主要归功于以下几个核心原因:
1. 纯内存操作(最核心原因):内存操作比磁盘操作快了成千上万倍,这是 Redis 快的基础。
2. 单线程的设计避免了cpu在不同的上下文切换(很消耗处理资源)和减少了锁竞争。因为多线程下肯定需要加锁来保证数据的安全,加锁和释放锁也造成了一定的处理速率减慢。
3.高效的数据结构,包含了哈希表,跳表,压缩列表(Ziplist)、快速列表(Quicklist)等数据结构。
4.使用了I/O 多路复用技术。
5.命令执行时间短,这是单线程程序的固定优势。
补充一下,其实现在最新的Redis已经有多线程设计了,但是引入的主要目的还是为了处理网络请求,命令的执行仍然还是单线程执行。[微笑][微笑][微笑]
人工智能 大模型 程序员 前端面试题 编程 后端开发
