当前位置 博文首页 > L-Java:@Cacheable Spring Cache缓存抽象的深入学习与使用【两

    L-Java:@Cacheable Spring Cache缓存抽象的深入学习与使用【两

    作者:[db:作者] 时间:2021-07-25 15:56

    ??基于Spring5.x,详细介绍了Spring Cache提供的基于注解的声明式缓存的概念以及使用!比如@Cacheable、@CacheEvict、@CachePut、@Caching、@CacheConfig注解。

    文章目录

    • 1. Spring Cache概述
    • 1.1 Spring Cache的由来
      • 1.2 缓存(Cache)和缓冲区(Buffer)
      • 1.3 了解Spring缓存抽象(Cache Abstraction)
      • 1.4 Spring缓存抽象API
    • 2 配置缓存存储
      • 2.1 基于 JDK 的ConcurrentMap缓存
      • 2.2 基于 Ehcache 的缓存
      • 2.3 基于Caffeine的缓存
      • 2.4 基于JSR-107规范的缓存
      • 2.5 其他第三方缓存【redis】
    • 3 配置声明式缓存
      • 3.1 基于Spring注解的声明式缓存
        • 3.1.1 启用缓存注解
        • 3.1.2 测试配置
        • 3.1.3 @Cacheable注解
          • 3.1.3.1 简单测试
          • 3.1.3.2 属性详解
            • 3.1.3.2.1 sync属性
          • 3.1.3.3 key的生成
            • 3.1.3.3.1 默认key生成
            • 3.1.3.3.2 自定义key生成规则
          • 3.1.3.4 缓存解析器
          • 3.1.3.5 条件缓存
          • 3.1.3.5.1 condition条件
            • 3.1.3.5.2 unless条件
            • 3.1.3.5.3 优先级和执行顺序
          • 3.1.3.6 可用的缓存 SpEL 计算上下文
          • 3.1.3.7 null缓存支持
          • 3.1.3.8 标注在类上
        • 3.1.4 @CachePut注解
          • 3.1.5.1 属性详解
          • 3.1.5.2 allEntries
          • 3.1.5.3 beforeInvocation
        • 3.1.6 @Caching注解
        • 3.1.7 @CacheConfig注解
      • 3.2 JCache (JSR-107)注解
      • 3.3 基于XML的声明式缓存
    • 4 Spring缓存抽象的总结
      • 4.1 Spring缓存抽象的优点
      • 4.2 Spring缓存抽象的缺点
      • 4.3 总结
    cs