Redis为什么快?

(1)Redis是基于内存存储

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

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

相关推荐
zzh0813 分钟前
MySQL高可用集群笔记
数据库·笔记·mysql
萝卜白菜。16 分钟前
TongWeb7.0相同的类指明加载顺序
开发语言·python·pycharm
wb0430720117 分钟前
使用 Java 开发 MCP 服务并发布到 Maven 中央仓库完整指南
java·开发语言·spring boot·ai·maven
Rsun0455118 分钟前
设计模式应该怎么学
java·开发语言·设计模式
Shely201732 分钟前
MySQL数据表管理
数据库·mysql
良木生香35 分钟前
【C++初阶】:C++类和对象(下):构造函数promax & 类型转换 & static & 友元 & 内部类 & 匿名对象 & 超级优化
c语言·开发语言·c++
爬山算法39 分钟前
MongoDB(80)如何在MongoDB中使用多文档事务?
数据库·python·mongodb
5系暗夜孤魂40 分钟前
系统越复杂,越需要“边界感”:从 Java 体系理解大型工程的可维护性本质
java·开发语言
APguantou1 小时前
NCRE-三级数据库技术-第2章-需求分析
数据库·需求分析
二月夜1 小时前
Spring循环依赖深度解析:从三级缓存原理到跨环境“灵异”现象
java·spring