@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作为属性解析
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
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
-
详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用
注释介绍 @Cacheable @Cacheable 的作用 主要针对方法配置,能够根据方法的请求参数对其结果进行缓存 @Cacheable 作用和配置方法 参数 解释 example value 缓存的名称,在 spring 配置文件中定义,必须指定至少一个 例如: @Cacheable(value="mycache") @Cacheable(value={"cache1","cache2"} key 缓存的 key,可以为空,如果指定要按照
-
@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
随机推荐
- XML简介
- DB2中的数据移动(一)
- oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)
- JS解析json数据并将json字符串转化为数组的实现方法
- .Net Core+Angular Cli/Angular4开发环境搭建教程
- JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
- Java中的Calendar日历API用法完全解析
- struts2+spring+hibernate分页代码[比较多]第1/7页
- JavaWeb文件上传开发实例
- IOS网络请求之AFNetWorking 3.x 使用详情
- C语言获取Linux系统精确时间的方法
- mysql 5.7.17 winx64安装配置图文教程
- Android编程之手机壁纸WallPaper设置方法示例
- MyEclipse取消验证Js的两种方法
- PHP+Ajax实时自动检测是否联网的方法
- ASP中Utf-8与Gb2312编码转换乱码问题的解决方法 页面编码声明
- java图片验证码生成教程详解
- jquery 层次选择器siblings与nextAll的区别介绍
- jquery.AutoComplete.js中文修正版(支持firefox)
- js实现拖拽 闭包函数详细介绍