Redis为什么快?

(1)Redis是基于内存存储

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

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

相关推荐
MoonBit月兔2 分钟前
MoonBit 大型软件合成挑战赛决赛暨 Meetup 0.9 版本专场回顾
大数据·开发语言·人工智能·moonbit
宣宣猪的小花园.10 分钟前
C语言重难点全解析:指针到内存四区
c语言·开发语言
南宫萧幕10 分钟前
HEV 智能能量管理实战:从 MPC/PPO 理论解析到 Python-Simulink 联合仿真闭环全流程
开发语言·python·算法·matlab·控制
码农的神经元11 分钟前
Python 实现县域变电站智能巡检与抢修调度:地图、路径规划与恢复策略
开发语言·python
user_admin_god14 分钟前
SSE 流式响应 Chunk 被截断问题的排查与修复
java·人工智能·spring boot·spring·maven·mybatis
掉头发的王富贵15 分钟前
如何自己开发一个IDEA插件
后端·intellij idea
我命由我1234526 分钟前
Java 开发 - CountDownLatch 不需要手动关闭
android·java·开发语言·jvm·kotlin·android studio·android-studio
小研说技术27 分钟前
结构化输出让Agent返回可预测的格式数据
java·人工智能
德彪稳坐倒骑驴32 分钟前
SQL连续登录问题
服务器·数据库·sql
葡萄城技术团队32 分钟前
告别臃肿 SQL:HR 系统如何实现“字段级”权限控制与动态脱敏方案?
数据库·sql