@Cacheable 拼接key的操作
更新时间:2021年2月13日 14:58
[email protected] 拼接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作为属性解析
以上为个人经验,希望能给大家一个参考,也希望大家多多支持猪先飞。如有错误或未考虑完全的地方,望不吝赐教。
相关文章
- js遍历json的key和value的实例
- php利用嵌套数组拼接与解析json的方法
- C# 获取动态key的json对象的值案例
- 记录无法安装mysql-Invalid GPG Key from file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql的解决办法
- python的dict判断key是否存在的方法
- 根据key删除数组中指定的元素实现方法
- 解决postgresql 自增id作为key重复的问题
- Mysql合并结果接横向拼接字段的实现步骤
- spring boot+redis 监听过期Key的操作方法
- 详解C语言中的字符串拼接(堆与栈)
- MySQL中字符串与Num类型拼接报错的解决方法
- C语言实现AT指令ASCII码的拼接处理流程
- uniapp微信小程序:key失效的解决方法
- python字符串拼接的7种方法及性能比较详解
- Redis集群下过期key监听的实现代码
- VS2015为console.readkey添加代码片段的方法
- 浅谈redis key值内存消耗以及性能影响
- C语言#define拼接宏定义实现方式
- Opencv使用Stitcher类图像拼接生成全景图像
- 基于C++ map中key使用指针问题的详解