Redis为什么快?

(1)Redis是基于内存存储

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

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

相关推荐
进击ing小白1 分钟前
Qt 无边框窗口进阶指南
开发语言·qt
Python私教2 分钟前
AI 漫剧角色一进分镜就变脸?把提示词升级成“角色 ID + 镜头合同”
后端
Python私教3 分钟前
一次生成 20 个角色却全都撞脸:我用“角色合同”重做了批量生成流程
后端
点我头像干啥14 分钟前
004:多个PDF文件合并
开发语言·pdf·php
whcyhhh17 分钟前
头歌实践教学平台:数据科学与大数据技术导论(七上)
大数据·数据库·python
En^_^Joy26 分钟前
Cadence Skill脚本语言快速入门指南
开发语言
10mAh31 分钟前
【Java】HashMap 的 put 到底做了什么?——冲突、扩容与树化实测
java·开发语言·hash
夕除1 小时前
redis--007
数据库·分布式
我命由我123451 小时前
人脸识别 - 勒克斯(光线照射到物体表面上的明亮程度)
android·java·学习·java-ee·人脸识别·学习方法·android runtime
润乾软件1 小时前
CodeBuddy+SQLazy 编写复杂 SQL 详解
数据库·sql·codebuddy·sqlazy