阶段规划

  • 分布式缓存中间件Redis
  • 分布式会话与单点登录
  • 分布式搜索引擎ES
  • 分布式文件系统
  • 分布式消息队列
  • 分布式锁
  • 数据库读写分离与分库分表
  • 数据库表全局唯一主键id设计
  • 分布式事务与数据一致性
  • 接口幂等性设计与分布式限流

Redis快速入门

1.1 分布式架构概述

什么是分布式架构:

  • 不同的业务(功能模块)分散部署在不同的服务器
  • 每个子系统负责一个或多个不同的业务模块
  • 服务之间可以相互交互与通信
  • 分布式系统设计对用户透明
  • 可以发展为集群分布式系统架构

优点:

  • 业务解耦
  • 系统模块化,可重用化
  • 提高系统并发量
  • 优化运维部署效率

缺点:

  • 架构复杂
  • 部署多个子系统复杂
  • 系统之间通信耗时
  • 新人融入团队缓慢
  • 调试复杂

设计原则

  • 异步解耦:效率远高于同步
  • 幂等一致性:主要针对于增加和修改操作
  • 拆分原则
  • 融合分布式中间件
  • 容错高可用

1.2 为何引入redis

经常查,很少修改的数据可以放在nosql中

1.3 什么是nosql

not only sql

1.4 什么是分布式缓存,什么是redis

  • 提升读取速度性能
  • 分布式计算领域
  • 为数据库降低查询压力
  • 跨服务器缓存
  • 内存式缓存

1.5 分布式缓存方案与技术选型

Ehcache
优点:

  • 基于java开发
  • 基于jvm缓存
  • 简单,轻巧,方便

缺点:

  • 集群不支持
  • 分布式不支持

Memcache
优点:

  • 简单的key-value存储
  • 内存使用率比较高
  • 多核处理,多线程

缺点:

  • 无法容灾
  • 无法持久化

Redis
优点:

  • 数据类型丰富
  • 持久化
  • 主从同步,故障转移
  • 内存数据库,性能高

缺点:

  • 单线程,处理大数据量时性能较低
  • 单核

1.6 安装与配置redis

1.7 redis 命令行客户端基本使用

1.8 redis的数据类型

  • string
  • set
  • zset
  • hash
  • list

    SpringBoot整合Redis实战

    2.1 多路复用,阻塞和非阻塞

    2.2 springboot整合redis

    2.3 redis操作工具类

    2.4 基于redis优化首页轮播图查询

    2.5 基于redis优化购物车

Redis进阶提升与主从复制

Redis哨兵机制与实现

Redis集群