1月28日java假期学习读书笔记

一、学习目标
了解Spring Cache的基本概念和使用方法。
掌握如何在Spring Boot中集成缓存(如Redis或Caffeine)。
了解分布式追踪的基本概念和应用场景。
学习如何在Spring Boot中集成Spring Cloud Sleuth实现分布式追踪。
通过实际练习,实现一个简单的缓存和分布式追踪示例。
二、学习内容
(一)Spring Cache基础

  1. 缓存的概念
    缓存是一种优化技术,用于存储重复使用的数据,减少对数据库或其他资源的访问,从而提高应用性能。
    常见的缓存解决方案包括内存缓存(如Caffeine)、分布式缓存(如Redis)等。

  2. Spring Cache的使用
    Spring Cache通过注解(如@Cacheable、@CachePut、@CacheEvict)简化了缓存操作。
    支持多种缓存实现,如Caffeine、Redis等。

  3. 集成Caffeine缓存
    添加依赖:
    xml
    复制

    org.springframework.boot
    spring-boot-starter-cache


    com.github.ben-manes.caffeine
    caffeine

    启用缓存:
    java
    复制
    @Configuration
    @EnableCaching
    public class CacheConfig {
    }
    使用@Cacheable注解:
    java
    复制
    @Service
    public class UserService {
    @Cacheable(value = "userCache", key = "#id")
    public User getUserById(Long id) {
    // 模拟从数据库获取用户
    System.out.println("Fetching user from database...");
    return new User(id, "Alice", 25);
    }
    }
    (二)Spring Cloud Sleuth基础

  4. 分布式追踪的概念
    分布式追踪用于监控和分析分布式系统中的请求路径,帮助开发者诊断问题和优化性能。
    常见的追踪系统包括Zipkin、Sleuth等。

  5. Spring Cloud Sleuth的集成
    添加依赖:
    xml
    复制

    org.springframework.cloud
    spring-cloud-starter-sleuth


    org.springframework.cloud
    spring-cloud-starter-zipkin

    配置Zipkin服务器:
    可以通过Docker快速启动Zipkin服务:
    bash
    复制
    docker run -d -p 9411:9411 openzipkin/zipkin
    配置应用:
    properties
    复制
    spring.sleuth.sampler.probability=1.0 # 设置采样率
    spring.zipkin.base-url=http://localhost:9411
    使用Sleuth:
    Sleuth会自动为每个请求生成追踪ID,并记录日志。
    (三)实际练习:实现一个简单的缓存和分布式追踪示例

  6. 创建用户服务
    java
    复制
    @RestController
    public class UserController {
    @Autowired
    private UserService userService;

    @GetMapping("/user/{id}")
    public User getUserById(@PathVariable Long id) {
    return userService.getUserById(id);
    }
    }

  7. 运行和测试
    启动应用后,访问http://localhost:8080/user/1,观察控制台输出。
    查看Zipkin界面(http://localhost:9411/zipkin/),检查追踪信息。
    三、学习心得
    缓存的重要性
    缓存可以显著减少对数据库的访问,提高应用性能。
    Spring Cache通过注解简化了缓存操作,支持多种缓存实现。
    分布式追踪的作用
    分布式追踪可以帮助开发者快速定位问题,优化系统性能。
    Spring Cloud Sleuth与Zipkin集成后,可以方便地追踪请求路径。
    实践的重要性
    通过实际编写代码,我更好地理解了缓存和分布式追踪的实现方法。
    实践可以帮助快速发现和解决问题,加深对知识点的理解。

posted @ 2025-02-19 23:45  头发少的文不识  阅读(15)  评论(0)    收藏  举报