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

沉梦听雨

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

  • 黑马点评

    • Redis实战笔记
      • 技术架构图
      • 目录解析
        • config 目录
        • controller 目录
        • dto 目录
        • entity 目录
        • mapper 目录
        • service 目录
        • utils 目录
    • Redis实战问题整理
  • 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 目录

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

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

# utils 目录

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

  • CacheClient: 封装了通用的缓存工具类,涉及泛型、函数式编程等知识点,值得学习
  • RedisConstants: 保存项目中用到的 Redis 键、过期时间等常量,值得学习
  • RedisldWorker: 基于 Redis 的全局唯一自增 id 生成器,值得学习
  • RedisTokenInterceptor: 自动刷新 Redis 登录 Token 有效期,值得学习
  • SimpleRedisLock: 简单的 Redis 锁实现,了解即可,一般用 Redisson
  • UserHolder: 线程内缓存用户信息,可以学习
上次更新: 2025/4/3 17:16:48
学习笔记
Redis实战问题整理

← 学习笔记 Redis实战问题整理→

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