|Redis 到底是个啥?5 分钟彻底搞懂 Redis)
Redis 入门教程01Redis 到底是个啥5 分钟彻底搞懂 Redis如果你刚开始学习 Java、Python、Spring Boot或者准备学习 AI Agent那么 Redis 是绕不开的一项技术。很多人第一次听到 Redis脑子里都会冒出几个问题Redis 是数据库吗为什么已经有 MySQL还要 RedisRedis 到底解决了什么问题为什么大厂都在用 Redis别着急。今天我们不用复杂的概念不讲源码也不讲八股文只用两个生活中的例子✅ 快递柜✅ 备忘录让你真正理解 Redis。一、Redis 是什么官方解释RedisRemote Dictionary Server是一个基于内存的 Key-Value 数据库。是不是已经开始头疼了没关系我们换一种说法。Redis本质上就是一个把数据放在内存里的超级快数据库。重点只有四个字放在内存。这就是 Redis 快的原因。二、为什么 Redis 会这么快先想一个生活中的场景假设你回家现在有两种找东西的方法。第一种桌子上的备忘录你把今天要办的事情写在桌上的便利贴例如今天 ✔ 买牛奶 ✔ 拿快递 ✔ 给朋友打电话想看的时候伸手、拿起来、看完结束。整个过程几乎没有等待。第二种翻仓库另一种情况你把所有资料都放在地下仓库。要找一张纸下楼 ↓ 打开仓库 ↓ 找箱子 ↓ 打开箱子 ↓ 找到文件虽然最终也能找到但是明显慢很多。电脑其实也是一样内存Memory≈桌上的备忘录硬盘Disk≈地下仓库Redis 就是把数据放在桌子上内存所以读取速度非常快。而 MySQL 更多是存放在硬盘里。速度自然没有 Redis 快。三、Redis 和 MySQL 到底有什么区别很多新人最大的误区就是Redis 能不能替代 MySQL答案不能。它们负责的事情完全不同。我们继续用生活例子。MySQL大型仓库假设你开了一家公司所有合同、所有订单、所有客户资料全都放仓库。仓库很大可以放很多很多东西而且保存几年都不会丢。但是找起来稍微慢一点。这就是 MySQL。特点容量大数据永久保存查询相对慢Redis快递柜再看快递柜。快递员为什么喜欢放快递柜因为取件快用户扫码、柜门打开、结束速度非常快。但是柜子数量有限放不了几万件快递。Redis 也是一样因为内存比较贵所以 Redis 的容量一般不会特别大但是速度极快。一张图看懂一句话总结Redis 负责快MySQL 负责稳。四、什么叫缓存Cache终于来到 Redis 最重要的用途缓存。缓存到底是什么继续举例。假设你经营一家奶茶店每天都有顾客问今天有什么优惠 今天有什么优惠 今天有什么优惠 今天有什么优惠如果每次都去办公室翻文件效率很低。于是你直接在门口贴一张公告今日第二杯半价所有人一眼就能看到不用每次都问。这张公告就是缓存。Redis 就负责存放这种大家都会频繁访问的数据。五、为什么微博热搜要用 Redis假设微博今天有# 世界杯这个热搜一分钟 500 万人查看。如果每个人都去查 MySQL数据库压力会非常大。于是第一次查询MySQL ↓ 查到热搜 ↓ 放进 Redis之后所有用户直接访问 Redis用户 ↓ Redis ↓ 返回结果速度快很多数据库压力也降低了。这就是缓存最大的价值。六、为什么订单不能只放 Redis假设你刚买了一台电脑订单只保存在 Redis。虽然 Redis 支持 RDB、AOF 持久化但如果服务器突然故障最近写入的数据仍可能来不及落盘而丢失。对于订单、支付记录这类核心业务这是不可接受的所以它们仍然要存放在 MySQL 中而 Redis 更适合作为高速缓存。因此订单、用户信息、支付记录、库存等核心数据都必须保存在MySQL。Redis 只是保存一份“常用副本”真正的数据还是 MySQL。所以Redis ≠ MySQL而是用户 ↓ Redis先查 ↓ 没有 ↓ MySQL ↓ 放回 Redis ↓ 返回用户这就是最经典的缓存流程。七、Redis 能做什么除了缓存其实你会发现Redis 的这些功能几乎都有一个共同特点它们都是访问频率非常高、对响应速度要求极高的数据。例如登录状态Session验证码排行榜点赞功能秒杀库存消息队列限流分布式锁很多互联网项目几乎都会用到 Redis。八、5 分钟安装 RedisDocker 版如果你的电脑已经安装了 Docker一条命令即可启动 Redis如果没有安装可以去看我主页的另一篇文章docker run -d \ --name redis \ -p 6379:6379 \ redis:latest查看是否启动成功docker ps进入 Redisdocker exec -it redis redis-cli看到下面这个提示说明已经成功了127.0.0.1:6379九、Windows 安装 Redis推荐Windows 用户目前更推荐以下两种方式方式一Docker Desktop推荐优点与 Linux 环境一致后续学习 Spring Boot、AI Agent 更方便不需要单独维护 Redis 安装包方式二WSL2 Ubuntu安装 Ubuntu 后sudo apt update sudo apt install redis-server启动sudo service redis-server start进入redis-cli如果只是学习 RedisDocker 是目前最简单、最接近生产环境的方式。十、人生第一个 Redis 命令进入 redis-cli 后先测试连接ping输出PONG说明 Redis 正常工作。保存一个数据set name ZhangSan输出OK读取get name输出ZhangSan再试一个set city Beijing读取get city输出Beijing恭喜你的第一个 Redis 已经成功运行了。十一、今天学到了什么回顾一下今天的重点✅ Redis 是一个基于内存的数据库因此速度非常快。✅ MySQL 负责长期保存重要数据Redis 负责快速读取热点数据。✅ Redis 最大的用途就是缓存用来减少数据库压力、提升系统响应速度。✅ 热搜、排行榜、验证码、登录状态等场景都非常适合使用 Redis。✅ 使用 Docker 或 WSL2几分钟就能完成 Redis 的安装并体验PING、SET、GET等基础命令。写在最后第一次学习 Redis不要急着背命令更不要一开始就研究底层源码。先弄清楚Redis 为什么存在它解决了什么问题当你真正理解了“缓存”和“内存数据库”这两个核心概念后面的数据结构、持久化、过期策略、主从复制、哨兵、集群等知识都会变得顺理成章。 下一篇预告《Redis 五大数据结构String、Hash、List、Set、ZSet一篇讲透》。我们将深入 Redis 最经典的五大数据结构通过大量示例带你理解String 为什么是使用最多的数据类型Hash 为什么特别适合存储用户信息List 和消息队列有什么关系Set 为什么能自动去重ZSet 是如何实现排行榜的关注我一起从零开始学习 Redis逐步迈向企业级开发