缓存知多少?详解@Cacheable@CacheEvict@Caching

2023-10-29

一.基础概念

1.Cache介绍

在这里插入图片描述

2.@Cacheable/@CachePut/@CacheEvict)的主要参数

在这里插入图片描述

二.@Cacheable使用demo

//value 等价于 cacheNames
 @Cacheable(cacheNames = "'getString'", key = "'d'")
    public String getString() {
        return "aaa";
    }

三.@CacheEvict使用demo

 @CacheEvict(value = "'getString'", key = "'d'")
    public String cleanString() {
        return "bb";
    }
    

四.@Caching使用demo

Caching注解是Cacheable、CachePut、CacheEvict的组合注解

public @interface Caching {
//多个缓存
	Cacheable[] cacheable() default {};
//多个
	CachePut[] put() default {};
//多个清缓存操作
	CacheEvict[] evict() default {};

}

 @Caching(evict={@CacheEvict(value = "add", key = "'getAdd' + #so.positionId"),
            @CacheEvict(value = "add", key = "'updateAdd' + #so.positionId")})      
    public void add(Add so) {
    //do something 
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

缓存知多少?详解@Cacheable@CacheEvict@Caching 的相关文章

  • Java 中等效的并行扩展

    我在 Net 开发中使用并行扩展有一些经验 但我正在考虑在 Java 中做一些工作 这些工作将受益于易于使用的并行库 JVM 是否提供任何与并行扩展类似的工具 您应该熟悉java util concurrent http java sun
  • 在 Java 中连接和使用 Cassandra

    我已经阅读了一些关于 Cassandra 是什么以及它可以做什么的教程 但我的问题是如何在 Java 中与 Cassandra 交互 教程会很好 如果可能的话 有人可以告诉我是否应该使用 Thrift 还是 Hector 哪一个更好以及为什
  • Java new Date() 打印

    刚刚学习 Java 我知道这可能听起来很愚蠢 但我不得不问 System out print new Date 我知道参数中的任何内容都会转换为字符串 最终值是 new Date 返回对 Date 对象的引用 那么它是如何打印这个的呢 Mo
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • Play框架运行应用程序问题

    每当我尝试运行使用以下命令创建的新 Web 应用程序时 我都会收到以下错误Play http www playframework org Error occurred during initialization of VM Could no
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • 磁模拟

    假设我在 n m 像素的 2D 表面上有 p 个节点 我希望这些节点相互吸引 使得它们相距越远吸引力就越强 但是 如果两个节点之间的距离 比如 d A B 小于某个阈值 比如 k 那么它们就会开始排斥 谁能让我开始编写一些关于如何随时间更新
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 在mockito中使用when进行模拟ContextLoader.getCurrentWebApplicationContext()调用。我该怎么做?

    我试图在使用 mockito 时模拟 ContextLoader getCurrentWebApplicationContext 调用 但它无法模拟 here is my source code Mock org springframewo
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 在 Maven 依赖项中指定 jar 和 test-jar 类型

    我有一个名为 commons 的项目 其中包含运行时和测试的常见内容 在主项目中 我添加了公共资源的依赖项
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef

随机推荐

  • 多系统U盘启动盘的制作,成功启动win8PE,ubuntu,deepin2013,deepin2014,以及通过U盘启动电脑已装系统。

    以前的用U盘装系统都是用ultraISO 直接制作启动盘 有的时候一连着好几天都得捣鼓着装系统 今天是windows 明天是ubuntu 后天就可能是其它linux发行版了 很不方便 所以就想利用一个U盘做一个多系统的启动盘 经过N天不断的
  • 【python基础知识】6.布尔值和四种语句(break、continue、pass、else)

    文章目录 前言 用数据做判断 布尔值 两个数值做比较 直接用数值做运算 布尔值之间的运算 四种新的语句 break语句 continue语句 pass语句 else语句 循环小练习 前言 Hi 你来了 上一关我们学习了for循环和while
  • U盘安装系统----缺少所需的CD/DVD驱动器设备驱动程序

    用U盘启动盘安装系统 首先用软碟通制作启动盘 惠普电脑安装开机的时候 按F9 选择USB启动即可 如果不行的話 开机时按F2或者F10 进入高级设置 英文好像是advanced 选择first什么的 再选择带usb的那个选项即可然后按F10
  • 6-1 JAVA成绩比较 (10分) java pta

    本题要求实现Student类 该类实现Comparable接口 用于计算两个同学的JAVA成绩差 其中一个同学的数据已经输入 只需要从键盘输入第二个同学的信息 只有姓名和JAVA成绩两项 最终返回成绩差 裁判测试程序样例 在这里给出该类被调
  • 攻防世界(pwn)echo_back writeup

    checksec 保护全开 漏洞 利用要点 泄露关键信息 pie开启 gt 泄露elf base 泄露libc base 攻击scanf 修改 IO buf base扩大可输入字符串数 进一步修改 IO buf base与 IO buf e
  • Netty4框架的初步使用

    Netty4框架的初步使用 Netty4的基本概念网上有很多 这里就不多说 这仅仅只是一个小例子 功能模块分三部分 1 Handler 消息处理 2 Client 客户端 3 Server 服务端 结构目录 代码如下 公用的Handler
  • xss-labs/level10

    我们试试看输入以下代码 从界面上看确实只有一个输出点 但是不要被事物的表面所蒙蔽 我们的去更深层的源代码部分详究 从源代码层面上去看输出点 也只有一个输出点 不会吧 判断失误啦 应该不会 因为我从源代码看到了三个表单标签 而且还是设置隐藏属
  • 训练19 加权并查集

    做事情要有始有终 昨天下午暑期集训画上了句号 我整个人也就随着懈怠了下来 这篇题解是我最后的惯性了吧 之前拉下的题我是不打算继续写了 下一阶段依然是刷题 准备回洛谷去 白天学习正经东西 晚上研究副业 Virtual Friends A Bu
  • php全局变量作用域,thinkphp定义全局变量

    本文收集整理关于thinkphp定义全局变量的相关议题 使用内容导航快速到达 内容导航 Q1 thinkphp 视图模型中怎么用全局变量或者是点语法 先说下 关联模型 如你所说 关联模型和jion类似 实际上 thinkphp的关联模型 就
  • 遥感基础知识1

    1 地物波谱特征 在可见光 380 750nm 和近红外波段 850 880nm 地表物体自身的辐射几乎为0 地物发出的波谱主要以反射太阳辐射为主 太阳辐射达到地面后 物体除了反射作用外 还有对电磁辐射的吸收作用 到达地面的太阳辐射能量 反
  • AI写作可以写什么,分别有哪些工具

    1 开源CLUE AI社区 智能对话模型large v3 是目前最为先进的语言模型 可用于生成各种类型的文本 包括文章 自动回复邮件 自动生成代码等 2 Hugging Face Transformers 是一个面向NLP和AI的开源平台
  • 性价比排序

    链接 https ac nowcoder com acm contest 329 D 来源 牛客网 处女座靠着自己的家教本领赚够了去比赛的钱 于是开启了疯狂训练 在每个夜深人静第二天不收作业的夜晚 他都会开始刷题 今日又是一个刷题的夜晚 他
  • Vulnhub靶机渗透之环境搭建及JIS-CTF入门

    Vulnhub靶机渗透之环境搭建及JIS CTF入门 目录 Vulnhub靶机渗透之环境搭建及JIS CTF入门 一 JIS CTF题目描述 二 Vulnhub环境配置 三 Vulnhub靶机渗透详解 1 信息收集 2 First flag
  • K8s卸载

    sudo kubeadm reset f systemctl stop kubelet kubeadm kubectl yum y remove kubelet kubeadm kubectl sudo rm rvf HOME kube s
  • 基于GEC6818的智能火锅点餐系统

    本次项目开发环境 gec6818 QT5 14 2 SecureCRT 所使用的相关技术 c s架构 STL库 C 封装 标准化代码编写 实现的功能 用户登录页面 食品分区在不同页面 用户点餐页面 用户买单页面 数据整合并发送至后台 后台成
  • 请勿私信或者留言,请写信给我:i@brightguo.com

    请勿留言或者私信给我 一来csdn通知系统经常不及时通知我收到了你们的信息 二来我越来越少上csdn了 这两个原因导致您发了信息给我 我过几个月看到也是正常的 所以请邮件 实时看到您的邮件 像收到短信一样 有空就回复你 i brightgu
  • 操作系统主要知识点

    1 进程管理 1 进程是具有独立功能程序在某个数据集合上的一次执行过程 线程是进程内的一个执行实体或执行单元 进程和线程的区别 a 不同进程的地址空间是独立的 而同一进程内的线程共享同一地址空间 一个进程的线程在另一个进程内是不可见的 b
  • MySQL 数据库 (实现JDBC工具类)

    JDBC工具类 package com itcast ma import java sql Connection import java sql DriverManager import java sql PreparedStatement
  • 用c++写一个贪吃蛇的游戏

    写一个贪吃蛇游戏需要涵盖以下几个方面的知识 图形绘制 使用控制台的图形绘制函数 例如在 Windows 中使用的是 conio h 中的图形绘制函数 游戏逻辑 包括贪吃蛇的移动 食物的生成 检测蛇是否撞墙或撞到自己等 数据存储 使用数组或链
  • 缓存知多少?详解@Cacheable@CacheEvict@Caching

    缓存注解 一 基础概念 1 Cache介绍 2 Cacheable CachePut CacheEvict 的主要参数 二 Cacheable使用demo 三 CacheEvict使用demo 四 Caching使用demo 一 基础概念