Redis为什么快?

(1)Redis是基于内存存储

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

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

相关推荐
不会玩电脑的Xin.几秒前
Web请求乱码解决方案
java·javaweb
泡沫·7 分钟前
4.iSCSI 服务器
运维·服务器·数据库
Billow_lamb9 分钟前
Spring Boot2.x.x 全局错误处理
java·spring boot·后端
苏三的开发日记10 分钟前
Java后台定时器导致系统奔溃的原因分析
后端
胡八一11 分钟前
解决PHP未检测到您服务器环境的sqlite3数据库扩展报错
服务器·数据库·php
remaindertime12 分钟前
基于Ollama和Spring AI:实现本地大模型对话与 RAG 功能
人工智能·后端·ai编程
Lear12 分钟前
Spring Boot异步任务实战:优化耗时操作,提升系统性能
后端
编程火箭车13 分钟前
【Java SE 基础学习打卡】14 Java 注释
java·编程规范·代码注释·api文档·代码可读性·javadoc·文档注释
雁于飞21 分钟前
分布式基础
java·spring boot·分布式·spring·wpf·cloud native
q***25137 分钟前
java进阶1——JVM
java·开发语言·jvm