【Java】SpringBoot Mybatis redis 二级缓存配置 总是有乱码key 包括不能转换成为int?

问题: 使用 redis做缓存,采用注解方式,Dao层的代码如图, springboot 启动类上@EnableCaching 开启了缓存。 但是redis上面存的值为错误信息,错误信息为

org.springframework.cache.interceptor.SimpleKey cannot be cast to java.lang.String

java.lang.Integer cannot be cast to java.lang.String

【Java】SpringBoot Mybatis redis 二级缓存配置 总是有乱码key  包括不能转换成为int?

    @Cacheable(value = "listphotos")

@Select("SELECT id,time,path,width,height FROM blog_file_pic")

List<PicDto> listPhotos();

环境:Spirngboot ,mybatis ,redis

网上找了很多相关信息,写了一个配置类,手动在redis储存相关信息不会有任何乱码值,而mybatis的redis配置的缓存还是回报错,请问各位怎么解决呢?

回答

缓存的key值错误,重写key的命名生成,并且在mapper(dao) 里面@Cacheable 不要设置自己的key,可以解决以上错误。

以上是 【Java】SpringBoot Mybatis redis 二级缓存配置 总是有乱码key 包括不能转换成为int? 的全部内容, 来源链接: utcz.com/a/88487.html

回到顶部