Redis学习路线(付资料)(已完结)




Redis 学习路线(付资料)(已完结)
Redis 不管是在社招/校招面试中,被问到的频率都非常高;在日常开发中,Redis 的使用
频率也非常高,几乎是 Java 后端开发必须掌握的技术栈,所以 Redis 也被二哥归纳到了
Java 后端四大件中。
Redis 是一种基于键值对(key-value)的 NoSQL 数据库。它的数据都存放在内存中,所
以读写性能非常出色,同时,它会利用快照和日志的形式将内存的数据持久化到硬盘上,
防止数据丢失。由于 Redis 的出色性能,它被应用于企业级开发的多个场景当中,比如说
缓存、计数器、排行榜、社交网络、消息队列、分布式锁等等,因此,Redis 的企业开发
中占据了重要的位置。
第一阶段:入门
入门阶段主要记住 Redis 的命令,熟练使用 Redis 的 5 大数据结构就可以了。
8ad585b2824866b755666d924900812e.png
如果没有 Redis 环境,可以直接通过这个网址 https://try.redis.io/,很赞,它会给你模拟
一个在线的环境可供你尽情使用!
dbde8dacb66c080b77dd53fe585fed73.png
视频
黑马程序员 Redis 入门到实战教程里包含了比较多实战的内容,比如说优惠券秒杀、分布
式锁、消息队列等等内容,有同学说这是 B 站上质量最高的 Redis 课程(dog dog
dog),有同学把课件也无私的那个了出来,可戳下面的获取。
• 视频地址:https://www.bilibili.com/video/BV1cr4y1671t
• 课件网盘地址获取:https://t.zsxq.com/08rEo9Pdu
ed56b8ecc81f45efadad53b52e672844.png
文档
任何时候,官方的文档都是非常值得去参考和学习的。
026b7c634bfc1235b3f3291691ebabd4.png
书籍
可以考虑使用《Redis 入门指南(第 2 版)》作为教程, 并辅以《Redis 使用手册》作为
参考。
bd2eeacc837cca841feab2130b48200d.png
a78802d88acd00bd126f7d84a02c5c1d.png
第二阶段:进阶实战
学习 Redis 的第二个阶段是进阶实战,经过入门阶段,我们对 Redis 有了基本的理解,熟
悉 Redis 各个命令以及各项特性的基本用法,但还是不太清楚应该如何使用 Redis 去解决
自己在工作上遇到的问题。
6fc8b4624a3c044b702efa0d7ccfdc51.png
下面列举一些 Redis 的使用场景:
• 缓存 - 将热点数据放到内存中,设置内存的最大使用量以及过期淘汰策略来保证缓存
的命中率。
• 计数器 - Redis 这种内存数据库能支持计数器频繁的读写操作。
• 应用限流 - 限制一个网站访问流量。
• 消息队列 - 使用 List 数据类型,它是双向链表。
• 查找表 - 使用 HASH 数据类型。
• 交集运算 - 使用 SET 类型,例如求两个用户的共同好友。
• 排行榜 - 使用 ZSET 数据类型。
• 分布式 Session - 多个应用服务器的 Session 都存储到 Redis 中来保证 Session 的一致
性。
• 分布式锁 - 除了可以使用 SETNX 实现分布式锁之外,还可以使用官方提供的
RedLock 分布式锁实现。
视频
知识星球的百度网盘里,有球友推荐了一套成熟的 Redis 视频课,包括实战篇,戳这个链
接可以查看网盘地址。
4ea4eef46e73f52cee9bb5082ff12a04.png
【尚硅谷】Redis 6 入门到精通视频课,一共 47 集,内容涵盖:Redis 常用数据类型和底
层结构、Redis 和 Spring Boot 整合、Redis 事务和锁、Redis 持久化、Redis 主从复制和集
群等等内容,有网友说这套课程基本上是按照《Redis 开发与运维》这本书来讲的,可以
把这本书拿来作为参考资料。这门课由《尚医通》的王泽老师授课,后面在 Java 企业级
开发中也会提到。
• 视频地址:https://www.bilibili.com/video/BV1Rv41177Af
• Redis 开发与运维:https://book.douban.com/subject/26971561/
可以从 20 讲开始往后看。
729c983e735ae5fcf1a82a3d07594d90.png
书籍
可以阅读《Redis 实战》一书
cb86395da6d69a60173951ee969c7310.png
《Redis 开发与运维》,看标题,就知道,这本书不仅适合开发,还适合运维,涉及的内
容有持久化、复制、高可用、内存、哨兵、集群、缓存等。
af08e5c64db3b4c7b69c5b9325db6e77.png
第三阶段:理解原理
学习 Redis,有必要深入理解缓存的原理,以及 Redis 作为一种缓存方案,在系统应用中
的定位。
Redis 持久化:
03518038f6c4fa4d755d3f2a742c0427.png
Redis 复制:
acdae48ff1af25b52923ea214284bc17.png
Redis 哨兵:
82a1d24ced05f95060ab79c35fb15968.png
Redis 集群:
b49bf6fbb395e5144991d9442c6b336f.png
书籍
书籍的话推荐 Redis 设计与实现,通过阅读本书,可以快速、有效地了解 Redis 的内部构
造以及运作机制,从而学会如何更高效地使用 Redis。
16cb8d4fd48893aa804e28f6870791c4.png
这本书讲解得非常透彻,尤其是在 Redis 底层数据结构、RDB 和 AOF 持久化机制,以及
哨兵机制和切片集群的介绍上,非常容易理解。
付费课程
极客时间上的 Redis 源码剖析与实战 评分较高,从源码角度理解 Redis 系统设计思路,可
以购买。
掘金上的说透 Redis 7 也卖的不错,内容包括核心原理剖析+源码解读+实践应用,全方位
吃透 Redis 7。
文档
如果源码阅读能力不错的话,可以看看 GitHub 上这份 Redis 3.0 的源码(中文注释版)
https://github.com/huangz1990/redis-3.0-annotated
ace6b01bb713cc4fea30ed1de9362405.png
Redis 学习建议
在学习 Redis 时,最常见的需求有三个方面。
• 日常使用操作:比如常见命令和配置,集群搭建等;
• 关键技术原理:比如 IO 模型、AOF 和 RDB 机制等;
• 在实际使用时的经验教训,比如,Redis 响应变慢了怎么办?Redis 主从库数据不一
致怎么办?等等。
一本好的工具书,可以帮助我们快速地了解或查询 Redis 的日常使用命令和操作方法,推
荐这份在线版的 Redis 命令参考
那除了学习,最重要的,就是实操了,在实战中碰壁,在实战中总结经验教训,进阶打
怪。