在hfom项目中体验使用了springcache,下面介绍使用体验
具体注解使用,网文很多,这里只写下使用后的初步体验。
1关于乱码与双冒号问题:
在使用了@Cacheable之后,利用redis工具查看,发现key与value值都是乱码,且value是以双冒号格式存储的,解决办法引入redisconfig类解决。具体参考上一篇《》。
2 关于缓存值刷新,可以在缓存变动的方法上添加@CacheEvict注解,或者方法里手动清除缓存key,这样下次查询会将缓存重新放入redis。但是这样代码访问redis,会查找不到缓存数据,如何将数据重新写入redis,待研究。
查看edmin源码,发现@Cacheable是添加在方法上的,所以代码里应很少直接访问缓存,直接调用方法即可。
3 关于方法调用,方法添加@Cacheable、@CachePut注解时,不需要包装,直接返回VO,list<VO>数据,因为方法的整个返回报文都会放入redis。
4 关于缓存失效时间。推荐直接注解里写入失效时间,可以参考下面的文章