Spring缓存Demo

news2024/12/23 18:37:22

Spring中的缓存用法:有说错请指正

启动类加@EnableCache

注解很多,这里举例几个实用的

第一组

 

value和key都没什么特别的含义,随你自己取,注意key里面是包了一层的

@Cacheable(value="user",key = "'findUsers'")

第一次查询的时候,会查数据库,然后将返回结果放到user里的findUsers如图,后面再次执行该方法,就会去user里的findUsers里取,不再连接数据库

@CacheEvict(value="user",key = "'findUsers'")

执行有注解的方法时,会清空user里的findUsers,应该说清除掉findUsers

这样当继续查所有的时候,缓存user里面没有findUsers,那么会先查询数据库,然后往user里的finUsers放一份,或者说创建

此种情况,增删改都需要加@CacheEvict(value="user",key = "'findUsers'")就是说删掉user里的findUsers

--------------------------------------------------------------------------------------------------------------

第二组,如果说我要对查询的某条记录做缓存

此种情况,在增删改需要将user整个缓存删除掉

---------------------------------------------------------------------------------------------------

第三种其实就是多参

findUserByxxxAndxxx

写法比如@ Cacheable(value="user",key="'findUserByxxxAndxxx'"+'#xxx'+','+'#xxx')

样的增删改时候删除上级缓存

Spring缓存注解还有很多.

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

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

相关文章

【GlobalMapper精品教程】045:空间分析工具(2)——相交

GlobalMapper提供的空间分析(操作)的方法有:交集、并集、单并集、差异、对称差集、相交、重叠、接触、包含、等于、内部、分离等,本文主要讲述相交工具的使用。 文章目录 一、实验数据二、符号化设置三、相交运算四、结果展示五、心灵感悟一、实验数据 加载配套实验数据(…

Hadoop安装 --- 简易安装Hadoop

目录 1、使用xftp工具 在opt目录下创建install和soft文件 2、使用xftp工具 将压缩包上传到install文件 3、编写shell脚本 3.1、创建目录来放shell脚本 3.2、创建autoinsatll.sh文件并修改权限 3.3、编写autoinsatll.sh 文件 刷新资源 运行文件 格式化 启动所有进程 Ha…

ChatGPT到底有多牛?博主带你亲测

文章目录论文项目代码算法学习情感职业回答知乎ChatGpt网页版与客户端版个人评价论文 问他毕设框架: 让他帮我写一段毕设背景部分: 项目代码 我让他帮我用Django写一个demo网站: 算法 matlab写遗传算法: 问一个数据结构&…

Java是如何创建线程的(二)从glibc到kernel thread

Java是如何创建线程的(二)从glibc到kernel thread 背景 上一节我们讨论了java线程是如何创建的,看了看从java代码层面到jvm层面的源码里都干了什么。 整个流程还是比较复杂的,我将上一节总结的调用时序图贴在下面,方…

Flutter Widget - Container 容器

Container 属性 child 容器包含的子组件color 容器背景色padding 内边距margin 外边距decoration 定义容器形状、颜色alignment 子组件在容器内的对齐方式constraints 定义宽高width 宽(可选)height 高(可选)transform 变换transformAlignment 变换原点的相对位置foregroundDe…

【Unity3D 常用插件】Haste插件

一,Haste介绍 Haste插件是一款针对 Unity 3D 的 Everthing软件,可以实现基于名称快速定位对象的功能。Unity 3D 编辑器也自带了搜索功能,但是在 project视图 和 Hierarchy视图 中的对象需要分别查找,不支持模糊匹配。Haste插件就…

MySQL-InnoDB数据页结构浅析

在MySQL-InnoDB行格式浅析中,们简单提了一下 页 的概念,它是 InnoDB 管理存储空间的基本单位,一个页的大小一般是 16KB 。 InnoDB 为了不同的目的而设计了许多种不同类型的 页: 存放表空间头部信息的页存放 Insert Buffer信息的…

Maven专题总结

1. 什么是Maven Maven 是一个项目管理工具,它包含了一个项目对象模型 (POM: Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和…

3分钟,学会了一个调试CSS的小妙招

Ⅰ. 作用 用于调试CSS , 比控制台添更加方便,不需要寻找 ;边添加样式,边可以查看效果,适合初学者对CSS 的理解和学习; Ⅱ. 快速实现(两边) ① 显示这个样式眶 给 head 和 style 标签添加一个…

Power BI 筛选器函数---Window实例详解

一、Window函数 语法&#xff1a; Window ( <起始位置>,<起始位置类型>,<结束位置>,<结束位置类型>, [<关系>], [<OrderBy>],[空白],[PartitionBy] ) 含义&#xff1a; 对指定分区&#xff08;PartitioinBy)中的行&#xff08;关系表&…

getchar()的用法

getchar的功能 它的作用是从stdin流中读入一个字符&#xff0c;也就是说&#xff0c;如果stdin有数据的话不用输入它就可以直接读取了&#xff0c;第一次getchar()时&#xff0c;确实需要人工的输入&#xff0c;但是如果你输了多个字符&#xff0c;以后的getchar()再执行时就会…

python+django高校师生健康信息管理系统pycharm

管理员功能模块 4.1登录页面 管理员登录&#xff0c;通过填写注册时输入的用户名、密码、角色进行登录&#xff0c;如图所示。 4.2系统首页 管理员登录进入师生健康信息管理系统可以查看个人中心、学生管理、教师管理、数据收集管理、问卷分类管理、疫情问卷管理、问卷调查管理…

大数据框架之Hadoop:HDFS(一)HDFS概述

1.1HDFS产出背景及定义 HDFS 产生背景 随着数据量越来越大&#xff0c;在一个操作系统存不下所有的数据&#xff0c;那么就分配到更多的操作系统管理的磁盘中&#xff0c;但是不方便管理和维护&#xff0c;迫切需要一种系统来管理多台机器上的文件&#xff0c;这就是分布式文件…

查缺补漏三:事务隔离级别

什么是事务&#xff1f; 事务就是一组操作的集合&#xff0c;事务将整组操作作为一个整体&#xff0c;共同提交或者共同撤销 这些操作只能同时成功或者同时失败&#xff0c;成功即可提交事务&#xff0c;失败就执行事务回滚 MySQL的事务默认是自动提交的&#xff0c;一条语句执…

【LeetCode第 332 场周赛】

传送门 文章目录6354. 找出数组的串联值6355. 统计公平数对的数目6356. 子字符串异或查询6357. 最少得分子序列6354. 找出数组的串联值 题目 思路 前后指针 代码 class Solution { public:long long findTheArrayConcVal(vector<int>& nums) {long long res 0;i…

多线程相关面试题

讲解下你自己理解的 CAS 机制 ? 全称 Compare and swap, 即 “比较并交换”. 相当于通过一个原子的操作, 同时完成 “读取内存, 比较是否相等, 修改内存” 这三个步骤. 本质上需要 CPU 指令的支撑. ABA问题怎么解决&#xff1f; 给要修改的数据引入版本号. 在 CAS 比较数据…

微搭低代码从入门到精通06-代码编辑器

有初学的同学一直有个疑问&#xff0c;什么叫低代码。低代码的特点是提供了大量的前端组件&#xff0c;我们在开发小程序的时候可以直接拖拽就完成了界面的开发。 但是一款APP的开发只有界面是不够的&#xff0c;还需要有交互逻辑&#xff0c;比如我们在会员小程序里充值的时候…

Linux服务器部署xxl-job

Linux服务器部署xxl-job Linux服务器部署xxl-jobLinux服务器部署xxl-jobxxl-job文档文档中要求的环境Maven下载&#xff1a;JDK下载&#xff1a;MySQL下载&#xff1a;部署MySQL上传MySQL安装包到服务器解压&#xff0c;安装配置文件启动MySQL查看初始密码使用初始密码登录MySQ…

分享一个可用的ChatGPT网页及备选方案

本文本来是在咱公众号分享&#xff0c;被一些跳蚤、苍蝇、蚊子和老鼠给搞臭了&#xff0c;故在此重新分享&#xff0c;欢迎那些跳蚤、苍蝇、蚊子和老鼠继续来战&#xff01; 近来ChatGPT可谓是火得不可开交&#xff01;各路牛鬼蛇神不管懂与不懂都借这阵ChatGPT风勇占流量高地…

c++11 标准模板(STL)(std::multimap)(四)

定义于头文件 <map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class multimap;(1)namespace pmr { template <class Key, class T…