首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Redis是单线程还是多线程?

Redis是单线程还是多线程?

原创
作者头像
Eulogy
发布2025-07-04 20:26:58
发布2025-07-04 20:26:58
5450
举报
文章被收录于专栏:笔记本笔记本

Redis的单线程和多线程

Redis6.0之前是单线程的,6.0之后是多线程的,我们先了解6.0版本之前的单线程Redis。但其实无论6.0之前还是6.0之后,redis用于工作的线程也只有一个,所以也可以说redis一直是单线程的。

Redis单线程

Redis 6.0之前使用的是单线程,这并不是说整个Redis中只有一个线程,而是Redis的工作线程只有一个,用来和客户端进行I/O的以及处理逻辑的线程只有一个。

Redis多线程

Redis6.0之后使用了多线程,但是工作线程依旧是单线程,只是多了一种IO线程。如下图所示,读写命令会交给IO线程来执行,而命令真正的处理逻辑还是由Worker线程来处理。

为什么单Worker线程性能高?

Redis是基于内存的,这就保证了效率高,其次Redis的操作一般都比较简单,比如get,set之类的操作,不会涉及到很复杂的逻辑操作,所以如果用多worker线程的话,线程的创建销毁以及线程切换导致的上下文切换开销也会是不小的负担。单线程就以及性能很高了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Redis的单线程和多线程
    • Redis单线程
    • Redis多线程
    • 为什么单Worker线程性能高?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档