Redis 基础之单线程多线程
2021/6/8 19:22:04
本文主要是介绍Redis 基础之单线程多线程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
何为单线程/多线程,何为单核多核
程序中写的代码,结果还是在电脑硬件的基础上执行,所谓的 单线程多线程 就相当于是cpu干活的时候 拆了几个任务,而单核 就是 一个cpu 多核就是多个cpu
生活故事
单核: 一个人生活
多核: 夫妻一起生活
单线程:洗衣服–做饭–扫地
多线程:洗着衣服做着饭还可能在扫着地
单核单线程:一个人洗衣服–做饭–扫地 串行 (按部就班)
单核多线程:一个人洗着衣服做着饭还可能在扫着地 并发(看似同时其实不然内部是按部就班)
多核单线程:其中一个人洗衣服–做饭–扫地
多核多线程:俩个人 一个洗着衣服 另一个在做饭 并行(真正的同时进行)
OK,单核我理解,反正就一个人呗,不管单线程还是多线程,活都是我一个人做,只不过单线程就是一件一件做,多线程看起来就是同时做多件呗。
注意多线程表面上看似好像在同时做事情,其实微观上是有时间先后的,可能只有纳秒级别,就像做饭扫地一起的时候,也还是会大脑指令一个个传达,手动一下,脚在动一下这样,尽管看起来做饭扫地都在进行。
那多核呢?
多核多线程,是真正意义上的 同时进行,多个线程同时进行,但是cpu还是串行按着顺序分配时间指令的。
Redis为什么采用单线程
为什么这样做?
首先,单线程多线程是提高cpu利用率的,而redis基于内存,CPU不会成为瓶颈,上面也知道了,而且单核多线程涉及到cpu切换上下文,这是个费资源费时间的过程。
所以单线程避免了这些,从而就能变快。那肯定用这个单线程处理请求了
另外,命令用单线程安全,数据放心
那多核呢?
不就相当于一个人干活,另一个不干活了吗?
我们可以开启俩个redis服务实例呀,这样不就解决了,既是单线程又利用多核;
Redis完全是单线程吗?
答案是不;redis的单线程指的是 网络请求模块 是单线程
而redis的模块是有四部分的
比如事件处理器内并不是只有一个线程;
这篇关于Redis 基础之单线程多线程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-18Redis安装入门:新手必读指南
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作