问题: 使用 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
@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,可以解决以上错误。