当前位置: 首页 > news >正文

企业级信息系统开发讲课笔记4.12 Spring Boot默认缓存管理

文章目录

  • 1. Spring Boot默认缓存管理
  • 2. Spring的缓存机制
    • 2.1 缓存机制概述
    • 2.2 缓存接口和缓存管理接口
  • 3. 声明式缓存注解
    • 3.1 @EnableCaching注解
    • 3.2 @Cacheable注解
      • 3.2.1 value/cacheNames属性
      • 3.2.2 key属性
      • 3.2.3 keyGenerator属性
      • 3.2.4 cacheManager/cacheResolver属性
      • 3.2.5 condition属性
      • 3.2.6 unless属性
      • 3.2.7 sync属性
    • 3.3 @CachePut注解
    • 3.4 @CacheEvict注解
      • 3.4.1 allEntries属性
      • 3.4.2 beforeInvocation属性
    • 3.5 @Caching注解
  • 4. 声明式缓存注解实战
    • 4.1 创建Spring Boot项目
    • 4.2 配置项目相关依赖
    • 4.3 设置应用属性文件
    • 4.4 创建图书实体类
    • 4.5 创建图书仓库接口
    • 4.6 创建图书服务接口
    • 4.7 创建图书服务接口实现类
    • 4.8 创建图书控制器
    • 4.9 修改项目启动类
    • 4.10 启动Redis服务
    • 4.11 启动应用,测试缓存效果
      • 4.11.1 启动应用
      • 4.11.2 查询图书信息
      • 4.11.3 更新图书信息
      • 4.11.4 删除图书信息
  • 5. 实战小结

1. Spring Boot默认缓存管理

  • Spring框架支持透明地向应用程序添加缓存,以及对缓存进行管理,其管理缓存的核心是将缓存应用于操作数据的方法,从而减少操作数据的执行次数,同时不会对程序本身造成任何干扰。Spring Boot继承了Spring框架的缓存管理功能。

2. Spring的缓存机制

2.1 缓存机制概述

  • Spring的缓存机制将提供的缓存作用于Java 方法上,基于缓存中的可用信息,可以减少方法的执行次数。每次目标方法调用时,抽象使用缓存行为来检查执行方法,即检查执行方法是否给定了缓存的执行参数,如果是,则返回缓存结果,不执行具体方法;如果否,则执行方法,并将结果缓存后,返回给用户。

2.2 缓存接口和缓存管理接口

  • Spring的默认的缓存方案通过org.springframework.cache.Cacheorg.springframework.cache.CacheManager接口来统一不同的缓存技术。
  • Cache接口:缓存的组件定义规范
http://www.lryc.cn/news/520694.html

相关文章:

  • 2025制定一个高级java开发路线:分布式系统、多线程编程、高并发经验
  • 20250110_ PyTorch中的张量操作
  • hadoop-yarn常用命令
  • LabVIEW滤波器功能
  • 【Unity3D日常开发】Unity3D中打开Window文件对话框打开文件(PC版)
  • ros2笔记-6.2 使用urdf创建机器人模型
  • 【centos】校时服务创建-频率修改
  • J.U.C(1)
  • 计算机网络之---静态路由与动态路由
  • Kubernetes1.28 编译 kubeadm修改证书有效期到 100年.并更新k8s集群证书
  • C++----STL(string)
  • 利用 Java 爬虫从 yiwugo 根据 ID 获取商品详情
  • vue2修改表单只提交被修改的数据的字段传给后端接口
  • Flink类加载机制详解
  • ClickHouse大数据准实时更新
  • 计算机网络之---端口与套接字
  • UE5中制作地形材质
  • 【Docker】docker compose 安装 Redis Stack
  • pytest 常用插件
  • 浅谈云计算05 | 云存储等级及其接口工作原理
  • linux:文件的创建/删除/复制/移动/查看/查找/权限/类型/压缩/打包,文本处理sed,awk
  • CentOS 8 如何安装java与mysql
  • Go语言之路————go基本语法、数据类型、变量、常量、输出
  • 音视频入门基础:MPEG2-PS专题(7)——通过FFprobe显示PS流每个packet的信息
  • Docker安装和卸载(centos)
  • YOLOv8从菜鸟到精通(二):YOLOv8数据标注以及模型训练
  • Winforms开发基础之非主线程操作UI控件的误区
  • Flutter中Get.snackbar和Get.dialog关闭冲突问题记录
  • springcloudalibaba集成fegin报错ClassNotFoundException解决方案
  • 【HTML+CSS+JS+VUE】web前端教程-31-css3新特性