Redis简单介绍

一、前言:为什么 Redis 几乎成了"标配"?

你是否经常听到这些说法?

  • "我们用 Redis 做缓存,接口快了 10 倍!"
  • "登录态用 Redis 存 Token,支持分布式部署"
  • "秒杀系统靠 Redis 搞定高并发"

Redis 到底是什么?为什么它如此重要

本文将用最简洁的方式,带你快速掌握 Redis 的本质、特点和典型用途,零基础也能看懂!


二、Redis 是什么?

Redis(Remote Dictionary Server) 是一个开源的、基于内存的键值对(Key-Value)数据库

你可以把它想象成一个超高速的"字典"

  • 给一个名字(key),就能立刻拿到对应的值(value)
  • 所有数据都存在内存中,读写速度极快

📊 性能对比(参考值):

存储方式 读取速度
机械硬盘(HDD) ~100 IOPS
固态硬盘(SSD) ~10,000 IOPS
MySQL(磁盘) ~1,000 QPS
Redis(内存) 100,000+ QPS

💡 实测:Redis 单机轻松支持 10万+ 每秒读写操作


三、Redis 的核心特点

✅ 1. 基于内存,速度极快

  • 数据存在 RAM 中,避免磁盘 I/O 瓶颈
  • 适合高频读写场景(如计数器、会话)

✅ 2. 丰富的数据类型

不只是字符串!Redis 支持:

  • String:字符串(如缓存 HTML 片段)
  • Hash:哈希表(如存储用户信息)
  • List:列表(如消息队列、最新评论)
  • Set:集合(如标签去重)
  • Sorted Set:有序集合(如排行榜)
bash 复制代码
# 示例:用 Sorted Set 实现排行榜
ZADD leaderboard 95 "张三"
ZADD leaderboard 88 "李四"
ZREVRANGE leaderboard 0 9  # 获取前10名

✅ 3. 持久化支持

虽然数据在内存,但 Redis 可以定期保存到磁盘,防止宕机丢失:

  • RDB:快照(定时全量备份)
  • AOF:日志(记录每条写命令)

📌 默认开启 RDB,兼顾性能与可靠性

✅ 4. 高可用 & 集群

  • 主从复制(Master-Slave)
  • 哨兵模式(Sentinel)自动故障转移
  • Redis Cluster 分布式集群(自动分片)

四、Redis 典型应用场景

场景 使用方式 优势
缓存 缓存数据库查询结果 减轻 DB 压力,提升响应速度
会话存储 存储用户登录 Token 支持分布式系统共享登录态
排行榜 Sorted Set 实现 实时排序,毫秒级响应
限流 利用 INCR + 过期时间 防止接口被刷(如短信验证码)
消息队列 List 的 LPUSH / BRPOP 轻量级异步任务处理
分布式锁 SET key value NX EX 保证多节点操作互斥

五、快速上手:5 行命令体验 Redis

  1. 安装 Redis (以 macOS 为例):

    bash 复制代码
    brew install redis
  2. 启动服务

    bash 复制代码
    redis-server
  3. 连接客户端

    bash 复制代码
    redis-cli
  4. 基本操作

    bash 复制代码
    > SET name "Alice"
    OK
    > GET name
    "Alice"
    > EXPIRE name 60  # 60秒后自动删除
    (integer) 1
  5. 退出

    bash 复制代码
    > exit

💡 你刚刚完成了一次"缓存写入 + 自动过期"!


六、Redis vs 其他数据库

对比项 Redis MySQL Memcached
类型 NoSQL(键值) SQL(关系型) NoSQL(键值)
存储 内存 + 可持久化 磁盘 仅内存
数据类型 丰富(5种+) 表结构 仅字符串
持久化 ✅ 支持 ✅ 原生 ❌ 不支持
集群 ✅ 官方支持 需中间件 第三方实现

📌 结论 :Redis ≠ 替代 MySQL,而是互补

通常:MySQL 存原始数据,Redis 存热点数据


七、常见误区澄清

❌ 误区 1:"Redis 是缓存,不能当数据库用"

正解 :Redis 可作为主数据库(如实时排行榜、会话存储),只要接受其内存限制和持久化策略。

❌ 误区 2:"Redis 数据会丢,不安全"

正解 :合理配置 RDB/AOF 后,数据安全性足够用于多数业务。金融级场景可结合 MySQL 双写。

❌ 误区 3:"Redis 只能存字符串"

正解:Hash、List、Set 等结构让 Redis 能表达复杂业务逻辑!


八、结语

感谢您的阅读!如果你有任何疑问或想要分享的经验,请在评论区留言交流!

相关推荐
Quincy_Freak14 分钟前
银河麒麟 aarch64 环境下轻量 SQLite 管理方案实践:SQLiteGo 落地体验
数据库·sqlite·sqlitego
灵机一物31 分钟前
企业选型参考:2026 CXL 内存扩展方案六强测评与落地指南
服务器·网络·数据库·人工智能
秋风渡.34 分钟前
MySQL_数据类型知识
数据库·mysql
Season4501 小时前
Redis命令 (generic即通用命令)
数据库·redis·bootstrap
liwulin05062 小时前
【ollama】自定义结构化输出
linux·前端·数据库·ollama
木易士心2 小时前
MyBatis数据源切换全面解析
数据库
新中地GIS开发老师2 小时前
地信职业百科④:GIS开发工程师
前端·数据库·gis·webgis·三维gis开发
云和恩墨2 小时前
从“第二存储”到多智能体协作,云和恩墨充实数据基础设施产品矩阵
数据库
ClouGence3 小时前
SAP HANA 到 Doris 数据迁移:4 种方案对比与迁移教程
数据库·后端·dba
霸道流氓气质3 小时前
ApiPost 中配置自动获取 Token 并调用业务接口完整指南
java·服务器·数据库