Redis为什么快?

(1)Redis是基于内存存储

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

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

相关推荐
Drifter_yh1 小时前
【黑马点评】Redisson 分布式锁核心原理剖析
java·数据库·redis·分布式·spring·缓存
鸽鸽程序猿1 小时前
【Redis】zset 类型介绍
数据库·redis·缓存
z玉无心1 小时前
Redis
数据库·redis·oracle
予枫的编程笔记1 小时前
【Redis核心原理篇2】Redis 单线程模型:为什么单线程还能这么快?
数据库·redis·缓存
希忘auto1 小时前
详解Redis之分布式锁
redis
fengxin_rou1 小时前
一文吃透 Redis 压缩列表、listpack 及哈希表扩容与并发查询
数据库·redis·散列表
一只鹿鹿鹿1 小时前
智慧水利一体化建设方案
大数据·运维·开发语言·数据库·物联网
_codemonster2 小时前
数据库字符集编码问题
android·数据库·oracle
莫寒清2 小时前
Spring MVC:@RequestParam 注解详解
java·spring·mvc
没有医保李先生3 小时前
字节对齐的总结
java·开发语言