@Cacheable 拼接key的操作
我就废话不多说了,大家还是直接看代码吧~
@Cacheable(value = "page_user",key ="T(String).valueOf(#page).concat('-').concat(#pageSize)",unless = "#result=null")//由于page是int型,concat要求变量必须为String,所以强转一下 @Override public List<SysUserEntity> page(int page, int pageSize) { return userMapper.page(page,pageSize); }
补充:记一个spring缓存Cacheable注解key设置问题
spring的Cacheable注解用来设置缓存,其中的key属性为spel表达式,如果要设置常量,则需要用''包裹,如:
@Cacheable(value = CacheConstant.APPLICATION,key = "'id_map'")
此处的"'id_map'"代表key设置了一个常量,如果没有'',则会报错
org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'lang_code_map' cannot be found on object of type 'org.springframework.cache.interceptor.CacheExpressionRootObject' - maybe not public or not valid?
意思为在缓存表达式根对象上找不到指定属性,说明如果不加'',则id_map作为属性解析
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用
注释介绍 @Cacheable @Cacheable 的作用 主要针对方法配置,能够根据方法的请求参数对其结果进行缓存 @Cacheable 作用和配置方法 参数 解释 example value 缓存的名称,在 spring 配置文件中定义,必须指定至少一个 例如: @Cacheable(value="mycache") @Cacheable(value={"cache1","cache2"} key 缓存的 key,可以为空,如果指定要按照
-
Java 遍历取出Map集合key-value数据的4种方法
将map集合存数据与取出数据全部放在一个类MapTest中,方便阅读与查看 随便创建一个包,在包中新建一个class文件,(也可以不建包,直接新建一个class文件) 新建class文件MapTest.java,代码如下: import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class
-
spring整合redis缓存并以注解(@Cacheable、@CachePut、@CacheEvict)形式使用
maven项目中在pom.xml中依赖2个jar包,其他的spring的jar包省略: <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.8.1</version> </dependency> <dependency> <groupId>org.springfra
-
Java Map如何根据key取value以及不指定key取出所有的value
根据key取其value Map<String, String> map = new HashMap<String, String>(); map.put("b", "4"); map.put("a", "5"); map.put("c", "3"); map.put("d", "5"); // 根据key获取 其value
-
@Cacheable 拼接key的操作
我就废话不多说了,大家还是直接看代码吧~ @Cacheable(value = "page_user",key ="T(String).valueOf(#page).concat('-').concat(#pageSize)",unless = "#result=null")//由于page是int型,concat要求变量必须为String,所以强转一下 @Override public List<SysUserEntity> pag
-
在Vue中使用Select选择器拼接label的操作
我就废话不多说了,大家还是直接看代码吧~ <el-form-item label="货道商品" prop="productid"> <el-select v-model="form.productid" filterable placeholder="请选择" @change="changeselect"> <el-option v-for="item in mypr
-
如何给Cacheable的key加上常量
目录 Cacheable的key加上常量 背景 springcache key的定义方式 1.不指定key,使用默认key生成器 2.指定key值 3.自定义key生成器 Cacheable的key加上常量 背景 由于缓存的注解有类似的前缀,所以抽取出常量. public static final String KEY_CERT_TYPE_CODE_PREFIX = "ec_cert_type:cert_type_code:"; @Override @Cacheable(k
-
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
Numpy中提供了concatenate,append, stack类(包括hsatck.vstack.dstack.row_stack.column_stack),r_和c_等类和函数用于数组拼接的操作. 各种函数的特点和区别如下标: concatenate 提供了axis参数,用于指定拼接方向 append 默认先ravel再拼接成一维数组,也可指定axis stack 提供了axis参数,用于生成新的维度 hstack 水平拼接,沿着行的方向,对列进行拼接 vstack 垂直拼接,沿着列的
-
Pytorch数据拼接与拆分操作实现图解
1.cat:拼接 直接合并数据 2.stack拼接: 与cat不同的是,stack创建了一个新的维度,在拼接的同时,给数据增加了类别.并且stack的所有数据维度必须一致. 3.split拆分: 通过数据长度进行拆分 4.chunk拆分: 与split不同的是:chunk是指定拆分的个数,将数据拆分为指定个数. 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.
-
Spring @Cacheable注解中key的使用详解
目录 Spring @Cacheable注解中key使用 下面是几个使用参数作为key的示例 condition属性指定发生的条件 @CachePut @CacheEvict allEntries属性 beforeInvocation属性 @Caching 使用自定义注解 @Cacheable 拼接key Spring @Cacheable注解中key使用 key属性是用来指定Spring缓存方法的返回结果时对应的key的.该属性支持SpringEL表达式.当我们没有指定该属性时,Spring将
-
手写redis@Cacheable注解 参数java对象作为key值详解
目录 1.实现方式说明 1.1问题说明 1.2实现步骤 2.源代码 3.测试 1.实现方式说明 本文在---- 手写redis @ Cacheable注解支持过期时间设置 的基础之上进行扩展. 1.1问题说明 @ Cacheable(key = “'leader'+#p0 +#p1 +#p2” )一般用法,#p0表示方法的第一个参数,#p1表示第二个参数,以此类推. 目前方法的第一个参数为Java的对象,但是原注解只支持Java的的基本数据类型. 1.2实现步骤 1.在原注解中加入新的参数,
-
php操作redis常见方法示例【key与value操作】
本文实例讲述了php操作redis常见方法.分享给大家供大家参考,具体如下: 关于key的操作: 1.获取所有key,不包括值: $redis ->keys("*"); 2.获取一个或多个key的值,[不限制数据类型]: $redis ->mget([$key1,$key2]);//参数为数组: 3.设置指定key的生命周期: $redis ->expire($key,30);//设置生命周期为30秒: 4.获取指定key的剩余生命周期: $redis->tTl
-
SpringBoot如何使用@Cacheable进行缓存与取值
目录 使用@Cacheable进行缓存与取值 1. @Cacheable的作用 2.常用属性说明 SpringBoot中Cacheable使用说明 功能说明 1. cacheNames & value 2. 关联多个缓存名 3. key & keyGenerator 4. cacheManager & cacheResolver 5. sync 6. condition 7. unless 8. condition VS unless ? 使用@Cacheable进行缓存与取值 1
-
Java中使用Jedis操作Redis的示例代码
使用Java操作Redis需要jedis-2.1.0.jar,下载地址:jedis-2.1.0.jar 如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar,下载地址:commons-pool-1.5.4.jar package com.test; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.j
随机推荐
- dedecms中常见问题修改方法总结
- 通过VB6将ASP编译封装成DLL组件最简教程 附全部工程源文件
- 解决tomcat的中文问题
- Bootstrap table简单使用总结
- 汉字转化为拼音(php版)
- python基于itchat实现微信群消息同步机器人
- JSP中EL表达式用法_动力节点Java学院整理
- php抓取并保存网站图片的实现代码
- 2014年放假安排时间表 2014年元旦放假安排
- Active控件问题小结(附解决办法)
- Java基础教程之类型转换与多态
- jquery插件开发之实现md5插件
- jQueryUI的Dialog的简单封装
- 动态显示可输入的字数提示还可以输入的字数
- zTree插件之单选下拉菜单实例代码
- 实例分析java中重载与重写的区别
- java 取出文本文件中空行的实例代码
- C#堆排序实现方法
- PHP无限极分类函数的实现方法详解
- JavaScript类数组对象转换为数组对象的方法实例分析