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

相关推荐
一 乐1 小时前
婚纱摄影网站|基于ssm + vue婚纱摄影网站系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot·后端
1.14(java)2 小时前
SQL数据库操作:从CRUD到高级查询
数据库
Full Stack Developme3 小时前
数据库索引的原理及类型和应用场景
数据库
IDC02_FEIYA4 小时前
SQL Server 2025数据库安装图文教程(附SQL Server2025数据库下载安装包)
数据库·windows
辞砚技术录5 小时前
MySQL面试题——联合索引
数据库·面试
萧曵 丶5 小时前
MySQL 主键不推荐使用 UUID 的深层原因
数据库·mysql·索引
小北方城市网5 小时前
分布式锁实战指南:从选型到落地,避开 90% 的坑
java·数据库·redis·分布式·python·缓存
毕设十刻5 小时前
基于Vue的人事管理系统67zzz(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
ohoy6 小时前
RedisTemplate 使用之Zset
java·开发语言·redis
小夏卷编程7 小时前
jeecg boot 路由缓存失效问题
vue.js·缓存