news 2026/9/16 8:21:37

Redis 为什么快

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Redis 为什么快

Redis 是单线程模型,相较于其他数据库(如mysql、oracle、sql server)为什么效率那么高,速度那么快呢

1、redis 访问内存,数据库则是访问硬盘

2、redis 的核心功能比数据库更简单,数据库对于数据的插入删除查询...都有复杂的功能支持。这样的功能势必要花费更多的开销。比如,针对插入删除操作,数据库中的各种约束,都会使数据库做额外的工作。

3、单线程模型,避免了一些不必要的线程竞争开销。redis 每个基本操作,都是简单地操作一下内存数据,是短平快的,不是什么特别消耗cpu的操作。就算搞多个线程,也提升不大。

4、处理网络IO的时候,使用了 epoll 这样的多路复用机制。

这里简单介绍一下 IO多路复用机制

对 TCP 服务端来说,每 accept 一个客户端,内核就会创建一个 socket 来表示这条连接。一个服务器服务多个客户端时,就会有很多 socket。但大多数连接大部分时间都是静默的,真正活跃的只是少数。如果每个客户端分配一个线程,线程数会随连接数线性增长,系统开销很大。IO 多路复用让一个线程可以同时管理大量 socket,只处理有事件的活跃连接,从而降低开销。它是内核提供的能力,Linux 上常见的有 select、poll、epoll,其中 epoll 在高并发、低活跃场景下效率更高。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 8:21:27

多态知识点总结

多态 1.多态的概念: 通俗来说,就是多种形态,具体点就是去完成某个⾏为,当不同的对象去完成时会产⽣出不同的状态。 2.Animal 中的 eat 方法,Cat 子类和 Dog 子类都能调用 eat 方法。 3.例: public class An…

作者头像 李华
网站建设 2026/9/16 8:20:26

CRM+通信一体化:桌面端客户管理系统的架构设计与落地实践

1. 从“电话打到哪、客户跟到哪”的混乱说起:DeskcommCRM 立项的真实理由做了七八年企业服务类系统的研发,我的一个判断是:天天喊数字化转型的传统销售团队,普遍卡在同一个瓶颈上——业务数据在浏览器里,沟通记录在电话…

作者头像 李华
网站建设 2026/9/16 8:19:47

【VR】【Unity】交互别堆脚本:先按「抓—走—放—转」四层搭

文章目录 组件越加越多,先别急着补脚本 抓:先分清谁抓、谁能被抓 走:传送、连续移动、摆臂,要分开看 放:松开手,不等于事情结束 转:门、抽屉和按钮,都有自己的运动边界 怎么用这张地图:先找第一个失败的动作 实用总结 组件越加越多,先别急着补脚本 做 Unity VR 交互…

作者头像 李华
网站建设 2026/9/16 8:18:36

车载网关CAN-LIN总线OTA升级实战:UDS刷写与Bootloader设计

先问个问题:在一个没有TBox、没有CANoe常驻台架的车载项目里,网关自身要刷写,挂在LIN总线上的低端从机也要刷写,你能接受开发阶段每次改固件都拆壳、搬TTL、手动烧录吗?大概率不能。所以我当时给自己定的目标很明确&am…

作者头像 李华
网站建设 2026/9/16 8:17:49

Julia语言与人工神经网络在智能交通系统中的应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华