第一模块:
课程名称:Redis专项进阶课 解决Redis实际问题+掌握Redis6.x特性
章节名称:1-1 ~ 2-2
讲师姓名:InCowboy
第二模块:
内容概述:
1-1 ~ 2-2 小节对Redis做了一个全面的介绍,重点讲解了Redis为何能支撑的住10w+的QPS的。
第三模块:
学习心得:
1-1 课程简介
redis的最新版本是6.x;
集群的常见架构模式:
集群(集群中的各个节点其地位都是平等的,没有主从的关系)
哨兵(集群中的各个节点其地位不平等,存在主从关系,在主从关系之下就存在一个“哨兵”,这个哨兵的作用就是用来监督“主节点”,如果主节点宕机,就会发出警告,通过既定的策略重新推选出一个可用的“主节点”)(这种模式也叫“主从模式”)
主备模式(本模式下,只有“主节点”对外提供服务,其他的备用节点只干一件事:和“主节点”进行数据同步,但并不对外提供服务)
补充:一个“集群”就是一个“逻辑整体”,这个整体一起对外提供服务,所以当一个服务是以“集群”为基础对外提供服务时,那这个服务名其实不是指某一个实例节点,而是一群实例节点!!!
分区\分片\分段,指的都是一个意思:整体中的某个部分。
使用redis的大厂们(BATJ,TMD):
redis的功能:
因为功能丰富,所以对应的使用场景也及其丰富:
缓存
分布式锁
队列
集合
GEO
BitMap
......
项目驱动学习:
项目架构图:
redis实际使用时的常见问题:
慢日志查询
Fork进程优化
主从数据一致性
数据脏读
复制风暴
1-2 学习的过程
知行合一,亦步亦趋
2-1 第二章学习导读
Redis的单节点模式下的性能是:
写每秒8.1万次
读每秒11万次
当并发上来之后,单节点的性能无法满足是,就可以考虑使用【集群模式了】,即:主从模式下实现的读写分离(此模式下,是要求主节点高可用的,所以,redis对此提供了“哨兵”机制,来保证主节点的高可用性)
第二章的学习目标:
需要掌握的理论知识:
redis是一个nosql型数据库,所以,实际应用redis是都是 redis + 关系型数据组成的”组合拳“去使用的。
2-2 详细了解Redis
内存是没有IO的概念的,磁盘才有IO操作的概念。
redis的主从模式 + 哨兵机制(少数服从多数):
解决【节点存储】数据的压力(集群分片/分区):
redis是单线程的,而单线程天然就是”原子操作“!!!
redis的特点:
redis的优势:
缓存中间件的比较:
redis因其强大且自由的功能成为了”缓存中间件“的首选。
redis高并发(对高并发支持的很好),原因:
redis单线程的优劣思考:
IO多路复用:
IO的分类,粗粒度上分为3类:
BIO(阻塞式IO)
NIO(多路复用):多路复用并不是没有“阻塞”,只是通过“复用的机制”将这个“阻塞”变小了,小到一定层度,就可以认为是没有阻塞了,就好像:将一滴果汁用水不断的稀释,稀释到一定的层度,就可以认为这个些水中压根就不存在果汁!!!
AIO(异步IO)
图解:
多路复用:多个IO操作,共用一个IO通道!!!
第四模块:
学习截图: