沉梦手记 沉梦手记
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 数据库基础
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • 网络通信
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Axios入门
  • Vue Router入门
  • Pinia入门
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 运维与部署
  • 音视频处理
  • 随笔
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
Github (opens new window)

沉梦听雨

时间是最好的浸渍剂,而沉淀是最好的提纯器🚀
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 数据库基础
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • 网络通信
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Axios入门
  • Vue Router入门
  • Pinia入门
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 运维与部署
  • 音视频处理
  • 随笔
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
Github (opens new window)
  • 脚手架搭建
  • 瑞吉外卖

  • 黑马点评

    • Redis实战笔记
      • 技术架构图
      • 目录解析
        • config 目录
        • controller 目录
        • dto 目录
        • entity 目录
        • mapper 目录
        • service 目录
        • utils 目录
    • 登录与缓存优化
    • 优惠券秒杀
    • 分布式锁
    • 秒杀优化与消息队列
    • 社交功能与Feed流
    • GEO与签到统计
    • 面试问答整理
    • 电商场景分析
    • 项目技术亮点
  • vue-blog

  • 沉梦接口开放平台

  • 用户中心

  • 聚合搜索平台

  • 仿12306项目

  • 壁纸小程序项目

  • RuoYi-Vue

  • 项目笔记
  • 黑马点评
沉梦听雨
2023-06-08
目录

Redis实战笔记

# Redis 实战笔记

# 技术架构图

这个项目是单体项目,架构比较简单,下图依然是理想架构,实际上只用单台 Tomcat、MySQL、Redis 即可:

image

# 目录解析

# config 目录

存放项目依赖相关配置。

配置类 说明
MvcConfig 配置了登录、自动刷新登录 Token 的拦截器
MybatisConfig 配置 MyBatis Plus 分页插件
RedissonConfig 创建单例 Redisson 客户端
WebExceptionAdvice 全局响应拦截器

# controller 目录

存放 RESTful 风格的 API 接口。

# dto 目录

存放业务封装类,如 Result 通用响应封装(不推荐学习它的写法)。

# entity 目录

存放和数据库对应的 Java POJO 实体类,一般是用 MyBatisX 等插件自动生成。

# mapper 目录

存放操作数据库的代码,基本没有自定义 SQL,都是复用了 MyBatis Plus 的方法,不做重点学习。

# service 目录

存放业务逻辑处理代码,需要重点学习。

实现类 核心技术 说明
BlogServiceImpl Redis 基于 Redis 实现点赞、按时间排序的点赞排行榜;基于 Redis 实现拉模式的 Feed 流,推荐学习
FollowServiceImpl Redis Set 基于 Redis 集合实现关注、共同关注,推荐学习
ShopServiceImpl Redis + GEO 基于 Redis 缓存优化店铺查询性能;基于 Redis GEO 实现附近店铺按距离排序,推荐学习
UserServiceImpl Redis 基于 Redis 实现短信登录(分布式 Session),推荐学习(虽然没有真的实现短信登录而是通过日志打印验证码代替——可考虑阿里云短信服务)
VoucherOrderServiceImpl Redis 分布式锁 + Lua + MQ 基于 Redis 分布式锁、Redis + Lua 两种方式,结合消息队列,共同实现了秒杀和一人一单功能,非常值得学习
VoucherServiceImpl Redis 添加优惠券,并将库存保存在 Redis 中,为秒杀做准备

# utils 目录

存放项目内通用的工具类,需要重点学习。

工具类 说明
CacheClient 封装了通用的缓存工具类,涉及泛型、函数式编程等知识点,值得学习
RedisConstants 保存项目中用到的 Redis 键、过期时间等常量,值得学习
RedisIdWorker 基于 Redis 的全局唯一自增 ID 生成器,值得学习
RedisTokenInterceptor 自动刷新 Redis 登录 Token 有效期,值得学习
SimpleRedisLock 简单的 Redis 锁实现,了解即可,一般用 Redisson
UserHolder 线程内缓存用户信息,可以学习
上次更新: 2026/10/10 17:43:40
项目技术亮点
登录与缓存优化

← 项目技术亮点 登录与缓存优化→

Theme by Vdoing | Copyright © 2023-2026 沉梦听雨 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式