Spring Chache入门详解、配套小案例

简介:Spring Cache是一个框架,实现了基于注解的缓存功能,只需要添加一个注解就能实现缓存功能。

        Spring Cache提供了一层抽象,底层可以切换不同的缓存实现,如下:

  • EHCache
  • Caffeine
  • Redis  (这篇帖子,以Redis为主)                               

目录

1、使用步骤

1.1 引入依赖

1.2 常用注解

2、入门案例

3、总结


1、使用步骤

1.1 引入依赖

在项目中的pom.xml文件中添加如下依赖

        <!--使用Spring Cache--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency>

1.2 常用注解

1.2-1 常用注解
图中展示的是Spring Cache中常见的注解,也是在开发过程中经常使用到的

2、入门案例

2-1 项目引入
图中展示的是本次小案例使用的初始代码,百度网盘:https://pan.baidu.com/s/1i9se1EjlpYV57ODXp2snEg 
提取码:6666
2-2 项目说明
图中展示的是项目中三个重要文件,小编认为读者还是要打开看一下
2-3 代码详解1
图中展示的是 @EnableCaching 注解,用于开启缓存注解功能,通常加载启动类中。
2-4 代码详解2
图中展示的是  @CachePut 注解,用于将方法的参数或者返回值添加到缓存中去,图中标记的三行代码功能是一样的,开发过程中任选一种就好。
2-5 代码详解3
图中展示的注解  @Cacheable 是用于判断当前缓存中是否含有数据,若有那么返回缓存中的数据,否则执行方法,且将方法的返回值存入缓存中
2-6 代码详解4
图中展示的注解   “@CacheEvict(cacheNames = "userCache", key = "#id")”  是用在方法执行后,删除缓存中的所有数据

3、总结

以上就是关于Spring Chache框中的常用注解功能作用的解析,之后小编也会更新更多、更深入的文章,相互分享。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/748993.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

下载指定版本的pytorch

下载网址&#xff1a;https://download.pytorch.org/whl/torch_stable.html 参考博客网址&#xff1a;https://blog.csdn.net/wusuoweiieq/article/details/132773977

基于C++的反射功能

需求&#xff1a; 利用C的发射机制&#xff0c;实现根据字符串创建实例对象。 代码&#xff1a; #ifndef OBJECT_H #define OBJECT_H#include <string> #include <map>typedef void* (*Constructor)();class CObjectFactory { public:static void registerClass…

分布式链路追踪(一)SkyWalking(2)使用

一、使用方法 1、简介 agent探针可以让我们不修改代码的情况下&#xff0c;对Java应用上使用到的组件进行动态监控&#xff0c;获取运行数据发送到OAP上进行统计和存储。agent探针在Java使用中是使用Java agent技术实现。不需要更改任何代码&#xff0c;Java agent会通过虚拟…

js基础API初学

事件监听 目标&#xff1a;能够给DOM元素添加事件监听 ■ 什么是事件&#xff1f; 事件是在编程时系统内发生的动作或者发生的事情 比如用户在网页上单击一个按钮 • 什么是事件监听&#xff1f; 就是让程序检测是否有事件产生&#xff0c;一旦有事件触发&#xff0c;就立即调…

【Git版本控制系统】:起步

目录 前言 版本控制 集中式与分布式的区别 Windows安装Git 核心 文件状态 工作区域 基本工作流程 配置用户信息 获取帮助 在线资源 前言 本篇文件的环境是Windows环境下实现。 在日常工作中git少不了&#xff0c;所以编写本篇文章介绍Git基础&#xff0c;专栏会不…

泰勒级数、海森矩阵、雅可比矩阵

泰勒级数 一元泰勒级数展开说明 多元泰勒级数展开说明 海森矩阵 海森矩阵说明 雅可比矩阵 雅可比矩阵说明

web学习笔记(三十二)

目录 1.函数的call、apply、bind方法 1.1call、apply、bind的相同点 1.2call、apply、bind的不同点 1.3call、apply、bind的使用场景 2. 对象的深拷贝 2.1对象的浅拷贝 2.1对象的深拷贝 1.函数的call、apply、bind方法 1.1call、apply、bind的相同点 在没有传参数时&…

OpenXR 超详细的spec--Chapter 1 Introduce

1.什么是OpenXR OpenXR是XR应用的一个API&#xff0c;它是app与runtime进程内或者进程外的接口。Runtime可以处理类似frame composition&#xff0c;外围设备管理、原始tracking information的功能。 Optionally, Runtime可以支持device layer plugins&#xff0c;允许通过共同…

C语言宏定义,内置宏,__FILE__,__LINE__,## 用法

​ 当然宏定义非常重要的&#xff0c;它可以帮助我们防止出错&#xff0c;提高代码的可移植性和可读性等。 下面列举一些成熟软件中常用得宏定义 1&#xff0c;防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H//头文件内容 … #endif2&#xff0c;重新定义一些…

Linux/secret

Enumeration nmap 第一次扫描发现系统对外开放了22&#xff0c;80和3000端口&#xff0c;端口详细信息如下 可以看到22端口对应的是ssh服务&#xff0c;80和3000都是http服务&#xff0c;80端口使用nginx&#xff0c;3000使用了Node.js TCP/80 可以先从80端口开始探索&…

ICSE 2024

Proceedings of the 46th IEEE/ACM International Conference on Software Engineering, ICSE 2024, Lisbon, Portugal, April 14-20, 2024. 第46届IEEE/ACM软件工程国际会议论文集&#xff0c;2024年4月14日至20日&#xff0c;葡萄牙里斯本。 1 Domain Knowledge Matters: Im…

网络原理(1)——UDP协议

目录 一、应用层 举个例子&#xff1a;点外卖 约定数据格式简单粗暴的例子 客户端和服务器的交互&#xff1a; 序列化和返序列化 xml、json、protobuffer 1、xml 2、json 3、protobuffer 二、传输层 端口 端口号范围划分 认识知名的端口号 三、UDP协议 端口 U…

数据结构之顺序表(包学包会版)

目录 1.线性表 2.顺序表 2.1概念及结构 2.2接口实现 3.总结 halo&#xff0c;又和大家见面了&#xff0c;今天要给大家分享的是顺序表的知识&#xff0c;跟着我的脚步&#xff0c;包学包会哦~ 规矩不乱&#xff0c;先赞后看&#xff01; ps&#xff1a;&#xff08;孙权…

【MMDetection3D实战5】Dataset 和 model配置文件解析

文章目录 1. Dataset 配置文件解析1. 1 定义全局变量1. 1 数据处理pipeline(1) train_pipeline(2) test_pipeline(3) eval_pipeline1. 2 data 字典的定义2. model 配置文件解析2. 1 体素化voxel_layer2. 2 voxel_encoder2. 3 middle_encoder2. 4 2D 检测网络(backbone + neck …

详解(实现)堆的接口函数

文章目录 堆堆的顺序存储 准备工作创建头文件Heap.h创建源文件Heap.c头文件的包含定义保存堆数据的结构体 初始化销毁堆插入数据向上调整算法图解算法代码 删除堆顶向下调整算法图解代码 取出堆顶数据求堆的数据个数判断堆是否为空全部代码Heap.hHeap.c 再了解堆之前我们先要了…

AI毕业论文降重GPTS,避免AI检测,高效完成论文

视频演示 AI毕业论文降重GPTS&#xff0c;避免AI检测&#xff0c;高效完成论文&#xff01; 开发目的 “毕业论文降重”GPTS应用&#xff0c;作用为&#xff1a;重新表述学术论文&#xff0c;降低相似性评分&#xff0c;避免AI检测。 使用地址 地址&#xff1a;毕业论文降重…

unraid docker.img扩容

unraid 弹Docker image disk utilization of 99%&#xff0c;容器下载/更新失败 我的版本是6.11.5&#xff0c;docker.img满了导致容器不能更新&#xff0c;遇到同样问题的可以先用docker命令清除一下仓库(当然不一定能清理出来&#xff0c;我已经清理过只清理出来1G多点&…

【四 (3)数据可视化之 Seaborn 常用图表及代码实现 】

目录 文章导航一、介绍二、安装Seaborn三、导入Seaborn四、设置可以中文显示五、占比类图表1、饼图2、环形图 六、比较排序类1、条形图2、箱线图3、小提琴图 七、趋势类图表1、折线图 八、频率分布类1、直方图 九、关系类图表1、散点图2、成对关系图3、热力图 文章导航 【一 简…

vue3后台管理系统权限路由的实现

最近做管理系统的时候&#xff0c;需要实现不同用户登陆所展示的菜单不同&#xff0c;查了不少帖子&#xff0c;总结下实现的步骤&#xff1a; 1.在router/index.js的代码&#xff1a; import { createRouter, createWebHistory,createWebHashHistory } from vue-router impo…