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

说一下Redis为什么快

目录

概述

根本原因

拓展

Redis 的持久化机制

小结


概述

        概述:Redis 之所以能够实现超高吞吐量和低延迟,核心是 Redis 是基于内存存储的、单线程模型避免多线程中上下文切换和锁开销、IO 多路复用高效处理海量并发连接,这三者协同。再搭配 Redis 中多种高效的数据结构(如,字符串、列表、跳表、压缩列表、哈希表等)、底层实现(包含内存分配、网络优化等),以及 Redis 6.0 后多线程 IO 对网络读写的补充优化(不改变单线程核心,命令执行仍是单线程),从存储、计算、网络全链路最大程度减少开销,最终达成高性能表现。

根本原因

Redis 基于内存存储,纯内存操作,规避 磁盘 IO 瓶颈。

  • 内存 IO 延迟是纳米级(≈10-9 秒 ),磁盘 IO 是毫秒级(≈10-3 秒 ),两者差距达 10 万倍。
  • 仅再持久化(RDB/AOF)时异步写入磁盘,完全不会阻塞主线程的读写操作。
  • MySQL 等数据库:即使数据库有缓存,但核心数据仍然需要磁盘交互,磁盘 IO 始终是性能上限,而 Redis 避免了磁盘 IO 带来的问题。

拓展

Redis 的持久化机制

简述:

  • AOF 日志:AOF 日志是存储 Redis 所有写操作的日志文件,Redis 宕机重启后会重新执行 AOF 日志文件中的所有命令。
  • RDB 快照:RDB 快照原理就是在某一时刻,将内存中的所有数据生成的一份二进制文件(.rdb 文件)并写入到磁盘中。
  • 选择:生产环境中通常是 RDB + AOF 结合使用,用 AOF 保证数据一致性,减少数据丢失;用 RDB 做全量备份,快速恢复、数据备份;
  • 对比

对比

RDB

AOF

核心原理

定时生成内存全量数据的二进制快照

实时记录所有写操作命令,追加到文件

数据一致性

低,丢失最后一次快照到宕机前的所有数据

高(最多丢失 1 秒 / 0 数据)

持久化文件体积

小(二进制压缩,无冗余数据)

大(文本命令,含重复操作,需重写优化)

服务启动加载速度

快(直接加载二进制数据到内存)

慢(需重新执行所有命令还原数据)

数据恢复优先级

低(Redis 启动时优先加载 AOF)

高(AOF 存在时优先加载,数据更完整)

适用场景

全量备份、灾备、性能优先、数据可容忍丢失场景

金融、电商等数据安全性优先,需减少数据丢失的场景

文件可读性

差(二进制文件,无法直接查看)

好(文本文件,可直接查看 / 编辑命令)

小结

        Redis 凭借内存存储、单线程模型、IO 多路复用三大核心支柱,叠加高效数据结构、底层优化及 Redis 6.0 多线程 IO 补充,从存储、计算、网络全链路压缩开销,最终实现超高吞吐量与低延迟的高性能表现。持久化层面,AOF 日志以实时写命令记录保障数据一致性,RDB 快照以定时全量二进制备份支撑快速恢复,生产环境通过 “RDB+AOF” 组合,既规避数据丢失风险,又兼顾备份与恢复效率,完美平衡了高性能与数据安全性。

http://www.dtcms.com/a/589053.html

相关文章:

  • web网页开发,在线%台球俱乐部管理%系统,基于Idea,html,css,jQuery,jsp,java,ssm,mysql。
  • 【C++STL】入门不迷路:容器适配器 + deque+stack/queue 使用 + 模拟实现指南!
  • 做设计挣钱的网站备案的网站有什么好处
  • 项目环境变量配置全攻略
  • AIGC|深圳AI优化企业新榜单与选择指南
  • 小红书MCP服务器 - 技术架构深度解析
  • 003-HTML之表单
  • 湖南省网站集约化建设实施方案做网站里面的图片像素要求
  • x402 生态系统:Web3 与 AI 融合的支付新基建
  • Rust 练习册 :掌握文本处理与词频统计
  • SpringCloud01-初识微服务SpringCloud
  • Web3 与去中心化应用(dApp)学习分享:从基础到应用
  • 贵州省住房和城乡建设厅官网站首页本地如何安装wordpress
  • 使用 dash 构建整洁架构应用
  • Transofrmer架构详解与PyTorch实现(附代码讲解)
  • 【自用】Python二分查找写法
  • 云原生爬虫:使用Docker和Kubernetes部署与管理分布式爬虫集群
  • Rust与Go:现代系统编程语言的深度对比
  • 国外html5网站源码网络舆情应急处置预案
  • 第1篇:Linux工具复盘上篇:yum与vim
  • Linux复习:gdb调试深度解析:debug与release
  • 哪家网站开发公司好平台公司信用评级
  • 【JavaEE】Spring Web MVC(下)
  • Hello-Agents第一章深度解析:智能体的本质、构建与实践
  • 【JAVA全栈项目】弧图图-智能图床SpringBoot+MySQL API接口结合Redis+Caffeine多级缓存实践解析
  • Linux复习:冯·诺依曼体系下的计算机本质:存储分级与IO效率的底层逻辑
  • 浅析MyBatisPlus 核心执行流程
  • 网站前台 后台建网站怎么搭建自己的服务器
  • 【C++】C++中的多线程
  • Painter AI 材质 x 智能遮罩:告别“风格化”手K地狱