JAVA 项目教程《黑马商城-Redis 篇》,分布式架构项目,从开发到部署

JAVA 项目教程《黑马商城-Redis 篇》,分布式架构项目,从开发到部署

一、参考资料

【黑马程序员SpringCloud微服务开发与实战,java黑马商城项目微服务实战开发(涵盖MybatisPlus、Docker、MQ、ES、Redis高级等)】 https://www.bilibili.com/video/BV1S142197x7/?p=142\&share_source=copy_web\&vd_source=855891859b2dc554eace9de3f28b4528

二、笔记总结

01、搭建主从集群
















02、自从同步原理




03、主从集群优化



04、哨兵原理





05、搭建哨兵集群







shell 复制代码
# 老版本DockerCompose
docker-compose down

# 新版本Docker
docker compose down


shell 复制代码
sentinel announce-ip "192.168.150.101"
sentinel monitor hmaster 192.168.150.101 7001 2
sentinel down-after-milliseconds hmaster 5000
sentinel failover-timeout hmaster 60000
shell 复制代码
version: "3.2"

services:
  r1:
    image: redis
    container_name: r1
    network_mode: "host"
    entrypoint: ["redis-server", "--port", "7001"]
  r2:
    image: redis
    container_name: r2
    network_mode: "host"
    entrypoint: ["redis-server", "--port", "7002", "--slaveof", "192.168.150.101", "7001"]
  r3:
    image: redis
    container_name: r3
    network_mode: "host"
    entrypoint: ["redis-server", "--port", "7003", "--slaveof", "192.168.150.101", "7001"]
  s1:
    image: redis
    container_name: s1
    volumes:
      - /root/redis/s1:/etc/redis
    network_mode: "host"
    entrypoint: ["redis-sentinel", "/etc/redis/sentinel.conf", "--port", "27001"]
  s2:
    image: redis
    container_name: s2
    volumes:
      - /root/redis/s2:/etc/redis
    network_mode: "host"
    entrypoint: ["redis-sentinel", "/etc/redis/sentinel.conf", "--port", "27002"]
  s3:
    image: redis
    container_name: s3
    volumes:
      - /root/redis/s3:/etc/redis
    network_mode: "host"
    entrypoint: ["redis-sentinel", "/etc/redis/sentinel.conf", "--port", "27003"]
shell 复制代码
# 老版本 Docker
docker-compose up -d
# 新版本 Docker
docker compose up -d








06、搭建分片集群






shell 复制代码
version: "3.2"

services:
  r1:
    image: redis
    container_name: r1
    network_mode: "host"
    entrypoint: ["redis-server", "--port", "7001", "--cluster-enabled", "yes", "--cluster-config-file", "node.conf"]
  r2:
    image: redis
    container_name: r2
    network_mode: "host"
    entrypoint: ["redis-server", "--port", "7002", "--cluster-enabled", "yes", "--cluster-config-file", "node.conf"]
  r3:
    image: redis
    container_name: r3
    network_mode: "host"
    entrypoint: ["redis-server", "--port", "7003", "--cluster-enabled", "yes", "--cluster-config-file", "node.conf"]
  r4:
    image: redis
    container_name: r4
    network_mode: "host"
    entrypoint: ["redis-server", "--port", "7004", "--cluster-enabled", "yes", "--cluster-config-file", "node.conf"]
  r5:
    image: redis
    container_name: r5
    network_mode: "host"
    entrypoint: ["redis-server", "--port", "7005", "--cluster-enabled", "yes", "--cluster-config-file", "node.conf"]
  r6:
    image: redis
    container_name: r6
    network_mode: "host"
    entrypoint: ["redis-server", "--port", "7006", "--cluster-enabled", "yes", "--cluster-config-file", "node.conf"]
shell 复制代码
# 进入任意节点容器
docker exec -it r1 bash
# 然后,执行命令
redis-cli --cluster create --cluster-replicas 1 \
192.168.19.103:7001 192.168.19.103:7002 192.168.19.103:7003 \
192.168.19.103:7004 192.168.19.103:7005 192.168.19.103:7006


07、散列插槽





08、Redis 数据结构-RedisObject



09、Redis 数据结构-SkipList


10、Redis 数据结构-SortedSet


11、Redis 内存回收-过期 KEY 处理



12、Redis 内存回收-内存淘汰策略


13、Redis 缓存-缓存一致性





14、Redis 缓存-缓存穿透



15、Redis 缓存-缓存雪崩

16、Redis 缓存-缓存击穿



三、AI 嘚吧(直接忽略)

黑马商城-Redis篇:分布式架构项目从开发到部署

本教程聚焦于电商场景下Redis的核心应用,以"黑马商城"为实战项目,系统讲解如何利用Redis构建高性能、高可用的分布式系统。内容涵盖从环境搭建、核心数据结构应用到分布式锁、缓存设计等高级实战技巧,并结合SpringBoot与Redisson等主流框架,深入剖析缓存穿透、雪崩、击穿等问题的解决方案及缓存一致性策略。通过商品缓存、购物车管理、秒杀下单等电商核心业务的代码实现,帮助开发者掌握企业级缓存架构的设计与落地能力,为构建现代化电商系统奠定坚实基础。

核心内容
  • 环境准备与基础操作:使用Docker快速部署Redis单机与集群环境,集成SpringDataRedis,掌握String、Hash、List、Set等数据类型的Java操作API。
  • 缓存设计与优化:实战商品详情页缓存、分类列表缓存的读写逻辑,设计高效的Key命名规范与过期策略,引入JSON序列化提升复杂对象存储效率。
  • 缓存问题解决方案:针对缓存穿透,实现布隆过滤器与空值缓存;针对缓存雪崩,采用随机过期时间与高可用集群部署;针对缓存击穿,结合Redisson实现分布式锁与互斥重建机制。
  • 分布式会话与购物车:利用Redis统一存储用户Session,解决微服务集群下的登录状态共享问题;实现基于Hash结构的轻量级购物车功能,支持快速增删改查。
  • 高并发场景实战:在秒杀下单流程中,通过Redis预减库存、Lua脚本保证原子性,结合消息队列实现异步下单,有效应对瞬时高并发流量。
  • 监控与生产规范:集成Redis监控工具,实时观察内存与命中率,制定生产环境下的安全配置、持久化策略与性能调优指南。
技术亮点
  • 真实电商场景驱动:所有知识点均围绕"黑马商城"的实际业务展开,贴近企业真实需求。
  • 代码与架构并重:不仅提供可运行的代码示例,更强调缓存架构的设计思想与扩展性考量。
  • 覆盖全链路问题:从缓存读写到一致性、高并发处理,全面覆盖Redis在生产环境中的典型挑战与最佳实践。
相关推荐
青石路2 小时前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java
像我这样帅的人丶你还5 小时前
Java 后端详解(五):Redis 缓存
java·后端·全栈
plainGeekDev7 小时前
GreenDAO → Room
android·java·kotlin
亦暖筑序12 小时前
Java 8老系统AI Workflow实战:把一次性AI对话升级成可恢复工作流
java·后端
敲代码的彭于晏12 小时前
Bean 生命周期完全图解:前端同学也能看懂的 Spring 核心机制
java·前端·后端
plainGeekDev13 小时前
ButterKnife → ViewBinding
android·java·kotlin
用户3074596982071 天前
Redis 延时队列详解
redis
像我这样帅的人丶你还1 天前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩1 天前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构
烤代码的吐司君1 天前
Redis 数据结构 ZSet, BIT, HyperLogLog,Geo 空间数据
redis·后端