Redis为什么快?

(1)Redis是基于内存存储

(2)IO多路复用,正常来说每个客户端和服务器连接,每个连接都需要一个线程。但不是每个连接时时刻刻都有数据的,维护太多的线程会浪费资源,通过IO多路复用可以让一个线程监控多个socket连接。select 、poll、epoll--》三个IO复用模型

(3)处理命令是单线程 减少上下文切换。一个CPU同时只能执行一个线程的任务,如果是多线程的场景的话,不同线程去争夺CPU资源,上下文切换开销很大,所以redis采用了单线程。 (注:Redis 6.0之前,服务端和客户端的连接以及如何去处理客户端的命令都是共用一个线程的,也就是单线程 , 在Redis 6.0之后,处理服务端和客户端的连接专门用多线程去跑了,但是处理命令还是单线程。)

相关推荐
烽火戏诸诸诸侯8 分钟前
AI 让我的独门小工具焕发第二春
后端·ai编程·vibecoding
Wang's Blog1 小时前
Java框架快速入门: Spring Security+OAuth2之元注解简化权限表达式
java·数据库·spring
张小凡vip1 小时前
python--爬虫--经验积累的遇到的坑
开发语言·爬虫·python
狼爷1 小时前
硅谷爆火的FDE是AI新风口,还是高级外包?
后端·全栈
xifangge20251 小时前
AGENTS.md 怎么写?涵盖 Java、Python、Vue、Go 的 8 套开箱即用模板
java·vue.js·python
Wang's Blog1 小时前
Java框架快速入门: Spring Security+OAuth2之云服务集成与多因子认证设计
java·开发语言·spring
门思科技2 小时前
LoRaWAN 网络容量估算:一个 SX1302 网关到底能带多少设备
开发语言·网络·php
大草原的小灰灰2 小时前
Python基础语法
开发语言·python
xinjia_ctrl2 小时前
暑假实习总结
git·后端·spring·maven·intellij-idea
liangsheng_g2 小时前
SpringAOP拦截器链递归与事务钩子补偿源码实战
java·spring