springboot整合mybatis,redis,代码(五)_weixin_30247781的博客-程序员秘密

技术标签: java  数据库  

 redis注解开发过程中包含许多注解

  [email protected] 可以标记在方法上,也可以标记在类上。当标记在方法上时表示该方法是支持缓存的,当标记在类上时则表示该类所有的方法都是支持缓存的。应用到读取数据的方法上,将先从缓存中读取该方法的返回值,如果没
   有再从DB获取数据,然后把数据添加到缓存中
   缓存是以键值对进行的,值就是方法的返回结果,至于键的话,Spring又支持两种策略,默认策略和自定义策略,需要注意的是当一个支持缓存的方法在对象内部被调用时是不会触发缓存功能的。
  [email protected] 应用到删除数据的方法上,调用方法时会从缓存中删除对应key的数据
  [email protected] 应用到写数据的方法上,如新增/修改方法,调用方法时会自动把相应的数据放入缓存,
具体步骤如下:Spring在每次执行前都会检查Cache中是否存在相同key的缓存元素,如果存在就不再执行该方法,而是直接从缓存中获取结果进行返回,否则才会执行并将返回结果存入指定的缓存中。
与@Cacheable的区别:执行前不会去检查缓存中是否存在之前执行过的结果,而是每次都会执行该方法,并将执行结果以键值对的形式存入指定的缓存中
  4. @CacheConfig 属于类级别的注解,当方法上的注解未注明value时,以@CacheConfig的value属性为准,当方法上注明value时,以方法上的注解value属性为准
  5. @Caching 可能组合多个Cache注解使用;比如用户新增成功后,我们要添加id–>user;username—>user;email—>user的缓存;此时就需要@Caching组合多个注解标签了
  ex:可以使用如下方式使用:

@Caching(put = {
@CachePut(value = "person", key = "#person.id"),
@CachePut(value = "person", key = "#person.age"),
@CachePut(value = "person", key = "#person.address")
})

或者如代码开发里面一样

 

转载于:https://www.cnblogs.com/xiufengchen/p/10327546.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30247781/article/details/98661330

智能推荐

Linux环境变量查看和配置_linux查看环境变量配置_萧民工的博客-程序员秘密

1.查看当前系统定义的所有环境变量使用export命令可查看当前系统定义的所有环境变量2.输出单个环境变量的值echo $ENV可查看单个环境变量的值,如查看PATH环境变量的值其中PATH变量定义了运行命令的查找路径,以冒号:分割不同的路径。...

【云存储】IOPS概念及测试方法_Yeliang Wu的博客-程序员秘密

作者:【吴业亮】云计算开发工程师 博客:http://blog.csdn.net/wylfengyujiancheng

深度学习中的感受野_感知野_hajungong007的博客-程序员秘密

一、概念定义:感受野用来表示网络内部的不同神经元对原图像的感受范围的大小,或者说,convNets(cnn)每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小。神经元之所以无法对原始图像的所有信息进行感知,是因为在这些网络结构中普遍使用卷积层和pooling层,在层与层之间均为局部连接。神经元感受野的值越大表示其能接触到的原始图像范围就越大,也意味着它可能蕴含...

目标分割、目标识别、目标检测、目标跟踪的区别_目标检测和分割的区别和联系_Tech沉思录的博客-程序员秘密

我是一个目录区别举例子参考区别目标分割,应该是Target Segmentation,任务是把目标对应的部分分割出来。目标检测,应该是Target Detection。检测到图片当中的目标的具体位置目标识别,应该是Target Recognition。即是在所有的给定数据中,分类出哪一些sample是目标,哪一些不是。这个仅仅做一下分类任务。yes or no目标追踪,应该是Target Tracking。这个任务很重要的第一点是目标定位(Target Locating)而且这个

PHP中常用的转义函数_dechuxu8615的博客-程序员秘密

在开发sql查询小工具时,遇到了POST 提交sql语句去后台查询数据时,后端接受到带有 < 或 > 时的sql语句时,报语法错误。但是把提交的语句打印出来,又没有问题。想想肯定是编码 或转义 问题所至。$sqlQuery = html_entity_decode($_POST["content"]); $sqlQuery = stripslashes($sql...

Spring应用_DO your like的博客-程序员秘密

bean定义基本的几个属性值有id、name、classid是唯一指定标识,name可以有多个,class指定bean类型<bean id="person" name="n1,n2,n3" class="com.baizhiedu.basic.Person" scope="singleton"></bean>如果是web服务,IOC容器类型为XmlWebApplicationContext,我是在测试环境下,用ClassPathXmlApplicationConte

随便推点

Leetcode28 Java实现_雷金的博客-程序员秘密

Leetcode28 Java实现代码实现(kmp)class Solution { public int strStr(String haystack, String needle) { if(needle.length()<1){ return 0; } ...

Unity3D NGUI自适应屏幕分辨率(2014/4/17更新)_huang9012的博客-程序员秘密

原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 本文链接地址:Unity3D NGUI自适应屏幕分辨率1.UIRoot:根据高度自适应屏幕分辨率。NGUI根目录的UIRoot组件自带了根据高度自适应分辨率的功能。Scaling Style属性可选择三种不同的缩放策略。PixelPerfect 完美像素:直接显示设定好的像素。当屏幕高度低于minimum H

gnugk代码解读之二:H.245控制信令路由的实现_移动与射击的博客-程序员秘密

H.245控制信令处理对象        相关类H245Handler和H245ProxyHandler。H245Handle: This class handles H.245 messages which can either be transmitted on their  own TCP connection or can be tunneled in the Q.931 connec

纹理优化:让你的纹理也“瘦”下来_UWA的博客-程序员秘密

在上一期《纹理优化:不仅仅是一张图片那么简单》中,我们针对纹理相关的优化,挑选了部分知识点分析。无论是大家在开发时的疏忽,还是对相关知识点的理解不足,这些问题的积累最终都会反映到项目的性能表现上。为此,我们将这些规则列出,并且以一个个知识点的形式向大家逐一解读。本文,我们继续聚焦纹理方面,以UWA本地资源检测中的检测规则:“开启Mipmap选项的Sprite纹理”、“用非压缩格式的纹理”和“Wrap模式为Repeat的纹理”为大家简单讲解相关的知识点。我们将力图以浅显易懂的表达,让职场萌新或优化萌新深入

vue项目修改样式不生效_1ron3Man的博客-程序员秘密

项目中UI组件的scss样式修改不了踩坑在vue或者react项目里经常需要修改import组件的样式,一般会使用 /deep/>>> 等方式但是在 lang=“scss” 情况下你会发现: 这两种常用方法均无效,这种情况需要使用:::v-deep当修改样式不生效时,不妨尝试一下!!!...

【Spring】IOC&DI:循环依赖问题及解决方案_A minor的博客-程序员秘密

1.什么是循环依赖?所谓的循环依赖就是A依赖B,B依赖A;或者是A依赖B,B依赖C,C依赖A下面来看个实例:public class InstanceA { private InstanceB instanceB; // setter...} public class InstanceB { private InstanceA instanceA; // setter...}这里有两个类 A 和 B,A 中有一个成员变量 B,B 中有一个成员变量

推荐文章

热门文章

相关标签