Redis--单线程模型

目录

一、引言

二、Redis单线程模型

三、原因

四、为什么redis是单线程模型,但他的速度这么快?

五、总结


一、引言

本篇文章就Redis为什么是单线程模型做简单介绍。

二、Redis单线程模型

redis只使用一个线程,处理所有的命令请求,但是不是说redis服务器内部真的就只有一个线程,其实也有多个线程,这些线程在处理网络IO。

假设同时有两个客户端向redis服务器发送了命令请求,但是redis还是会将这些请求进行串行执行。

三、原因

redis之所以是单线程模型,是因为redis的核心业务逻辑都是短平快的,不太消耗CPU的资源,也就不需要多核了,但是redis就会存在一个弊端,如果某个操作消耗的时间太长,例如keys * 这样的操作,就会阻塞其他命令的执行!

四、为什么redis是单线程模型,但他的速度这么快?

1.redis的操作是访问内存,而其他数据库访问的是硬盘,所以redis比较快。

2.redis核心功能比数据库的核心功能更简单。

3.redis每个基础操作都是短平快的,就是简单操作一下内存数据,而不是什么特别消耗CPU的操作,就算搞个多线程提升也不大。

4.处理网络IO的时候,使用了epoll这样的**IO多路复用(一个线程处理多个Socket)**机制。

五、总结

本文就简单介绍了一下redis的单线程模型,以及其为什么是单线程模型,感谢观看!

相关推荐
AI_56785 分钟前
阿里云OSS成本优化:生命周期规则+分层存储省70%
运维·数据库·人工智能·ai
choke2338 分钟前
软件测试任务测试
服务器·数据库·sqlserver
龙山云仓9 分钟前
MES系统超融合架构
大数据·数据库·人工智能·sql·机器学习·架构·全文检索
IT邦德10 分钟前
OEL9.7 安装 Oracle 26ai RAC
数据库·oracle
luffy545925 分钟前
windows下通过docker-desktop创建redis实例
windows·redis·docker·容器
时艰.26 分钟前
java性能调优 — 高并发缓存一致性
java·开发语言·缓存
jianghua00129 分钟前
Django视图与URLs路由详解
数据库·django·sqlite
那我掉的头发算什么30 分钟前
【Mybatis】Mybatis-plus使用介绍
服务器·数据库·后端·spring·mybatis
倔强的石头10631 分钟前
关系数据库替换用金仓:数据迁移过程中的完整性与一致性风险
数据库·kingbase
_Johnny_31 分钟前
ETCD 配额/空间告警模拟脚本
数据库·chrome·etcd