两种方式,用哪一种看具体情况:
1.@Cacheable(CACHE_PARAM_GET_AF_OFFERS)注解方式
该注解加在发送request请求的方法上,在相同参数的情况下,第二次调用则不会真正发送request请求
2.cacheTemplate.cached()方式
加缓存可以和hystrixTemplate熔断结合使用,具体参考capp-core中getHcpHistoryBill方法
这种方法写单元测试比较困难,如果hystrixTemplate中直接有发送request请求的代码,则可以使用该方法,如果是调用的另一个方法,则不要用这种方法,单元测试暂时过不去
另外需要在uat环境(ehcache.xml)和生产环境(capp-backend-ehcache.xml)中添加相应的缓存代码
注意一下可能需要有maxBytesLocalHeap和maxBytesLocalDisk两个
timeToIdleSeconds和timeToLiveSeconds需要确认一下写多少,常用时间:600(10分钟) 900(15分钟) 1800(半小时) 3600(1小时) 7200(2小时)
CacheParams.java中也需要定义一下缓存名称
网友评论