• 授课方式
    录播视频+社群交流+答疑辅导
  • 开课时间
    随到随学
  • 适合人群
    后台开发方向,想获得面试亮点的同学
  • 课程时长
    1500分钟

课程介绍


讲师介绍

  • 李洪鹤
    前用友软件设计师、达内集团讲师、粉笔科技IT课程研发总监。拥有7年开发实战经验,5年教学经验。

课程提纲

  • 第1章
    Redis入门,学会运用五个核心的数据结构

    Redis 简介

    安装 Redis

    字符串

    散列

    列表

    集合

    有序集合

    管理 Redis

    Redis 的客户端

    Jedis 使用示例

    客户端通信协议

    Redis 应用案例

  • 第2章
    探究对象编码,理解Redis底层的实现机制

    Redis 的编码体系

    简单动态字符串

    字典

    链表

    压缩列表

    跳跃表

    整数集合

    字符串对象的编码

    散列对象的编码

    列表对象的编码

    集合对象的编码

    有序表合对象的编码

    访问时间与引用计数

    如何阅读 Redis 源码

    Redis 的单线程架构

  • 第3章
    Redis进阶,学会运用高级数据结构和功能

    HyperLogLog

    Bitmaps

    GEO

    布隆过滤器

    流水线

    事务

    Lua脚本

    模块

    发布订阅

    Stream

    排序

    自动过期

    慢查询分析

    Redis 单机功能总结

  • 第4章
    持久化与复制,保障Redis服务的数据安全

    Redis 的持久化方案

    RDB 持久化

    RDB 的文件结构

    AOF 持久化

    AOF 的重写机制

    RDB-AOF 混合持久化

    优化 Redis 持久化的性能

    复制

    复制的过程

    数据的同步

  • 第5章
    哨兵与集群,构建高可用和高并发的Redis服务

    哨兵简介

    哨兵的配置与部署

    哨兵的实现原理

    哨兵的客户端连接

    集群简介

    集群的配置与部署

    集群中的节点通信

    集群中的请求路由

    集群的扩容与收缩

    集群的故障转移

    集群的客户端连接

    Redis 多机功能总结

  • 第6章
    Redis实战,实现互联网应用中那些常见的需求

    网站的常见功能

    1)记录帖子的阅读数量

    2)限制服务的访问次数

    3)记录用户的兴趣标签

    4)记录帖子的点赞数量

    5)记录用户的粉丝数量

    6)记录用户的待办事项

    7)计算用户的共同关注

    8)生成热门帖子排行榜

    9)搜索功能的自动补全

    10)存储用户的登录会话

    网站的统计功能

    1)统计网站的PV

    2)统计网站的UV

    3)统计用户的在线天数

    轻量级消息队列

    1)基于列表实现消息队列

    2)基于有序集合实现消息队列

    3)基于发布订阅实现消息队列

    4)基于 Stream 实现消息队列

    实现分布式锁

    实现分布式缓存

    缓存设计与优化

    牛客网 Redis 翻车实录

    牛客网 Redis 应用现状

    牛客网 Redis 远期规划

  • 第7章
    看透那些面试题,是时候秀出你的Redis肌肉了

    5道送命题

    1)Redis 有哪些优势?

    2)Redis 可以用来做什么?

    3)Redis 支持哪些数据类型

    4)Redis 和 Memcached 有什么区别?

    5)Redis 为什么把数据都放在内存里

    6道回血题

    1)Redis 是单线程架构,为什么还能这么快?

    2)Redis 中的字符串,最大存储容量是多少?

    3)Redis 的持久化方式有哪些,该如何选择?

    4)Redis 有哪些数据淘汰策略,该如何选择?

    5)Redis 如何进行事务管理,能否保证ACID?

    6)Redis 中流水线有什么用,它与事务有什么关系?

    7道入围题

    1)说一说 RDB 的文件结构和 AOF 的重写机制?

    2)如何使用 Redis 来实现分布式锁?

    3)缓存雪崩、缓存穿透、缓存击穿有什么区别,如何解决这些问题?

    4)如何保障缓存与数据库双写一致?

    5)说一说 Redis 主从复制的过程,以及数据同步的方式?

    6)说一说 Redis 哨兵的实现机制?

    7)Redis 的分布式实现方案有哪些,集群中各节点之间是如何通信的?

    3道通关题

    1)Redis 做持久化操作时,哪些环节会造成阻塞,该如何优化?

    2)造成 Redis 主从节点数据不一致的因素有哪些,该如何优化?

    3)在对集群做扩容或收缩操作时,如何迁移槽和数据?

    4道毕业题

    1)Redis 中字符串是如何定义的?

    2)Redis 中的散列/列表/集合/有序集合是如何实现的?

    3)Redis 中的字典编码方案是如何实现 rehash 的?

    4)有序集合为什么采用跳跃表来实现,而不是二叉树?

    结课了,让我再唠叨几句!

常见问题

1.课程视频有效期多久?

答:课程视频是可以随时观看学习的。

2.课程可以分享给身边同学吗?
答:当然可以,但一定要记得上牛客官方平台来学习哦。
3.版权问题
答:版权归牛客职导所有,任何其他机构、媒体、网站或个人未经本网协议授权,不得发布/发表/转载牛客职导官方的课程链接/内容,违者将依法追究相关责任。

最近正在学