Redis 的速度为什么这么快

这里的速度快,Redis 的速度快是与 MySQL 等数据库相比较的,与直接操作内存数据相比,Redis 还是略有逊色。

Redis 是一个单线程模型,为什么比其他的多线程程序还要快,原因有以几点:

1、访问的对象不同

Redis 访问内存,而其他数据库是直接访问硬盘,操作内存数据一定比操作硬盘数据要来得更快。

2、Redis 的操作通常都是 "短平快"

所谓 "短平快",就是 Redis 的操作通常只是一些简单的操作,相比于其他数据库的复杂操作,Redis 的操作所消耗的资源更少,速度也是更快的。

3、Redis 是单线程模型

这里的单线程,不是 Redis 整个程序只有一个线程,而是只使用了一个线程来处理指令,在处理网络 IO 时使用的也是多线程。

使用单线程来处理指令,就能避免线程之间的竞争,从而就没有线程之间的竞争开销。

4、处理网络 IO 时,使用了IO多路复用的机制

上面说了,Redis 在处理网络请求时使用的是多线程模式,也就是一次能接收多个请求,但引入 IO多路复用(如 epoll 等机制)后,就能只使用较少的线程去处理多数的请求(前提是这些请求是不频繁的,线程大多数时间都在等)。

相关推荐
徐子元竟然被占了!!6 小时前
Linux-systemctl
linux·数据库·oracle
YJlio8 小时前
Active Directory 工具学习笔记(10.8):AdInsight——保存与导出(证据留存、共享与二次分析)
数据库·笔记·学习
suoyue_zhan8 小时前
GBase的管理监控平台GEM实践指南
数据库
哈哈老师啊9 小时前
Springboot学生综合测评系统hxtne(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·spring boot
小小8程序员9 小时前
Redis-10
数据库·redis·缓存
liuzhilongDBA9 小时前
从collation mismatch异常到其原理
数据库·version·glibc·postgres·collation
梁萌9 小时前
MySQL数据库分库分表介绍
数据库·mysql·shardingsphere·分库分表
占疏11 小时前
dify API访问工作流/聊天
开发语言·数据库·python
Cat God 00711 小时前
SQL使用及注意事项
数据库·sql·mysql