Redis为什么快?

(1)Redis是基于内存存储

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

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

相关推荐
南凉北往1 分钟前
PandasAI连接LLM对MySQL数据库进行数据分析
数据库·mysql·数据分析
回眸不遇6 分钟前
详谈 QT 布局 QLayout::SizeConstraint 和 QSizePolicy 对 QWidget 尺寸的影响
数据库·qt·系统架构
练习时长一年10 分钟前
@SneakyThrows注解
开发语言
我的xiaodoujiao14 分钟前
快速学习Python基础知识详细图文教程14--模块
开发语言·python·学习·测试工具
2601_9657984716 分钟前
MTDb Movie & TV Database Script Setup, Caching, and SEO Guide
linux·服务器·数据库·php
zdl68624 分钟前
EasyMarkets:“机器人商业化仍待验证”
数据库·机器人
NoteStream26 分钟前
【c语言基础】C语言常见概念
c语言·开发语言·编辑器
吃好睡好便好27 分钟前
MATLAB中图像的线性变换
开发语言·图像处理·学习·计算机视觉·matlab
charlie11451419134 分钟前
Cinux —— 给物理内存建账本:bitmap 物理内存管理器
开发语言·c++·操作系统·开源项目
Freak嵌入式41 分钟前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则