Java Web 学习日报
学习内容
Spring Boot 整合 Redis 基础入门
学习 Redis 在 Spring Boot 项目中的核心作用,重点理解缓存加速、会话共享、分布式锁、接口限流等典型应用场景。
在项目中引入 spring-boot-starter-data-redis 依赖,配置 application.yml 中 Redis 连接信息,包括主机、端口、密码、数据库索引、连接超时等基础配置。
学习并使用 RedisTemplate 和 StringRedisTemplate 完成常用数据结构操作:
- String 类型:缓存用户信息、验证码、接口返回结果
- Hash 类型:存储对象属性、配置信息
- List 类型:实现消息队列、历史记录
- Set 类型:去重、点赞、关注关系
掌握 key 命名规范、序列化配置,解决乱码与可读性问题。
Redis 缓存实战与简单问题处理
完成 Spring Boot 项目中接口缓存实战:
- 使用 @Cacheable 、 @CacheEvict 、 @CachePut 实现声明式缓存
- 对查询接口添加缓存,减少数据库访问,提升响应速度
学习缓存更新策略,保证缓存与数据库数据一致性。
初步认识 Redis 高频问题:
- 缓存穿透、缓存击穿、缓存雪崩的概念与区别
- 了解基础解决方案:设置空值、加过期时间、互斥锁思路
学习简单异常处理,如连接超时、Redis 服务不可用、序列化失败等场景的处理方式。
学习进度
能够独立完成 Spring Boot 与 Redis 的依赖引入、配置编写、基础数据结构操作;
熟练使用 StringRedisTemplate 与 RedisTemplate 进行增删改查;
可以使用注解方式实现接口缓存;
理解缓存三大问题的基本概念与应对思路。
遇到的问题
- Redis 连接失败,无法连接到本地/远程服务
- RedisTemplate 存入数据后出现乱码,key 不直观
- 缓存注解使用后数据不更新,出现脏数据
- 不清楚过期时间如何合理设置
解决方法
- 连接问题:检查 Redis 服务是否启动、端口是否开放、密码与配置一致
- 乱码问题:自定义 Redis 序列化配置,使用 String 序列化器
- 脏数据问题:更新/删除数据时使用 @CacheEvict 清除缓存
- 过期时间:根据业务热度设置,短缓存高频数据,避免同时过期
明日计划
深入学习 Redis 缓存三大问题(穿透、击穿、雪崩)的完整解决方案,学习分布式锁实现、Redis 实现限流、Session 共享,结合真实业务完成高可用缓存方案实战。
学习总结
今日完成 Spring Boot 整合 Redis 基础学习与缓存实战,掌握了依赖配置、模板使用、注解缓存和常见数据结构操作,能够在项目中快速接入 Redis 实现性能优化。通过解决连接、序列化、缓存一致性等问题,加深了对 Redis 工作机制的理解,为后续高并发、分布式场景开发打下基础。
浙公网安备 33010602011771号