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的单线程模型,以及其为什么是单线程模型,感谢观看!

相关推荐
guo_wen_qiang17 分钟前
mysql中有哪些日志
数据库·mysql
达梦数据1 小时前
达梦数据复制软件DMDRS搭建部署示例:源数据库DM8到目标数据库DM8数据迁移
数据库
沪上企服通1 小时前
旧账系统的信创迁移工程:从 MySQL/Oracle 到国产库、国密与电子会计档案闭环
数据库·笔记·数据库架构
m0_715674431 小时前
智能化+基于行标+场景化 政务数据库审计与风险监测全维度解决方案
网络·数据库·安全·网络安全·政务
天天喝旺仔1 小时前
MySQL索引优化实战:B+Tree原理、索引失效与覆盖索引调优
数据库·sql·mysql·性能优化
其实防守也摸鱼2 小时前
DeepSeek Harness 开源贡献手记:从入门到合入主线
服务器·数据库·windows·https·ssl
Omics Pro2 小时前
AI药物研发10原则!欧盟EMA×美国FDA
数据库·人工智能·算法·机器学习·自然语言处理
杨云龙UP2 小时前
DB2 HADR 主备切换实战:SQL1639N 认证问题、备库只读与双向 Takeover
linux·运维·数据库·db2·主备切换·角色互换
吠品2 小时前
Nginx负载均衡配置与线上故障排查的一些经验
java·开发语言·数据库