当前位置: 首页 > news >正文

【redis其它面试问题】

redis其它面试问题

  • redis是单线程,为什么还那么快
    • 1. ​​纯内存操作​​
    • 2. ​​单线程无锁竞争​​
    • 3. ​​使用 I/O 多路复用​​,非阻塞IO
  • 解释一下I/O多路复用模型

redis是单线程,为什么还那么快

1. ​​纯内存操作​​

所有数据存储在内存中,读写速度比磁盘快 ​​100,000倍​​ 以上(内存访问约 100ns,SSD 约 1ms)。
避免传统数据库的磁盘 I/O 瓶颈。

2. ​​单线程无锁竞争​​

单线程避免了多线程的​​上下文切换​​和​​锁竞争​​开销。

3. ​​使用 I/O 多路复用​​,非阻塞IO

解释一下I/O多路复用模型

Redis是纯内存操作,执行速度非常的快,它的性能瓶颈是网络延迟而不是执行速度,I/O多路复用模型主要就是实现了高效的网络请求

多路复用器
监听
监听
监听
读/写
读/写
fd1
调用select/epoll阻塞等待
fd2
...
启动
注册fd到多路复用器
有fd就绪?
处理就绪的fd
  • 初始化:将需要监听的fd(如Socket)注册到多路复用器(如 epoll)。
  • 阻塞监听:调用 epoll_wait 阻塞线程,直到至少一个fd就绪。
  • 事件触发:当某个fd就绪(如客户端发送数据),多路复用器返回就绪的fd列表。
  • 非阻塞处理:程序遍历就绪的fd,执行读/写操作(不会阻塞其他fd的处理)。
http://www.lryc.cn/news/598605.html

相关文章:

  • PHP 与 Vue.js 结合的前后端分离架构
  • 工具分享02 | Python批量文件重命名工具
  • 电商接口什么意思?
  • 数据所有权与用益权分离:数字经济时代的权利博弈与“商业机遇”
  • Claude Code是如何做上下文工程的?
  • Maven Scope标签:解锁Java项目依赖管理的秘密武器
  • [嵌入式embed]ST官网-根据指定固件名下载固件库-STSWSTM32054[STM32F10x_StdPeriph_Lib_V3.5.0]
  • 使用maven-shade-plugin解决依赖版本冲突
  • RCLAMP0504S.TCT 升特半导体TVS二极管 无损传输+军工防护+纳米护甲 ESD防护芯片
  • 陕西地区特种作业操作证考试题库及答案(登高架设作业)
  • Product Hunt 每日热榜 | 2025-07-24
  • 2025年人形机器人动捕技术研讨会于7月31日在京召开
  • 火语言 RPA 在日常运维中的实践
  • ESP32使用 vscode IDF 创建项目到烧录运行全过程
  • 优选算法:移动零
  • 使用ffmpeg转码h265后mac默认播放器不支持问题
  • Mac电脑使用IDEA启动服务后,报service异常
  • 从零构建 Node20+pnpm+pm2 环境镜像:基于 Dockerfile 的两种方案及持久化配置指南
  • 开源Qwen凌晨暴击闭源Claude!刷新AI编程SOTA,支持1M上下文
  • Vue3实现视频播放弹窗组件,支持全屏播放,音量控制,进度条自定义样式,适配浏览器小窗播放,视频大小自适配,缓冲loading,代码复制即用
  • 合泰单片机怎么样
  • idea监控本地堆栈
  • Linux系统监控模块之Zabbix7添加监控主机
  • 生成式人工智能展望报告-欧盟-03-经济影响
  • 第一二章笔记
  • 同步时钟系统提升仓库自动化水平
  • Opentrons 模块化平台与AI技术助力智能移液创新,赋能AAW™自动化工作站
  • 爬虫逆向--Day12--DrissionPage案例分析【小某书评价数据某东评价数据】
  • 2025年区块链安全威胁全景:新兴漏洞、攻击向量与防护策略深度解析
  • 常见半导体的介电常数