Redis为什么快?

(1)Redis是基于内存存储

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

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

相关推荐
曹轲恒16 分钟前
Java中断
java·开发语言
xxxmine27 分钟前
Java并发wait(timeout)
java
豆芽脚脚32 分钟前
MongoDB 导出和导入完整指南
数据库·mongodb
烧饼Fighting39 分钟前
Mysql替换为瀚高数据库部分函数转换V4.5版本
数据库·mysql
冰冰菜的扣jio1 小时前
Redis缓存问题——一致性问题、事务、持久化
java·spring·mybatis
施棠海1 小时前
监听与回调的三个demo
java·开发语言
時肆4851 小时前
C语言造轮子大赛:从零构建核心组件
c语言·开发语言
上善若水_厚德载物1 小时前
Centos7 Mysql 5.7 读写分离
数据库·mysql
赴前尘1 小时前
golang 查看指定版本库所依赖库的版本
开发语言·后端·golang
Mr__Miss2 小时前
Redis的持久化
数据库·redis·缓存