一、分析
在不影响原有的逻辑上,添加缓存,分为两块,一块是执行结果后存储缓存,一块是在执行之前调用缓存
二、缓存添加
1.打开taotao-rest工程,找到商品类目展示的service(ItemCatServiceImpl),本次调用jedisClient的get与set方法,调用缓存,与存储缓存,在使用get前,需要在resouce.properties中添加一个key,比如INDEX_ITEMCAT_REDIS_KEY,用来存储缓存信息
然后在代码中获取该key
@Value("${INDEX_ITEMCAT_REDIS_KEY}")
private String INDEX_ITEMCAT_REDIS_KEY;
1
2
2、注入JedisClient
@Autowired
private JedisClient jedisClient;
1
2
3、先在代码的return resultList;前添加存储缓存代码
//---------------------------------------------缓存存储--------------------
//从缓存中添加内容
try{
//把list转换成字符串
String cacheString=JsonUtils.objectToJson(resultList);
jedisClient.set(INDEX_ITEMCAT_REDIS_KEY, cacheString);
}catch(Exception e){
e.printStackTrace();
}
//-----------------------------------------------------------------
4、在代码中调用getCatList(0)的方法前,加入读取缓存
// -----------------------------缓存读取---------------------------------------
try {
String result = jedisClient.get(INDEX_ITEMCAT_REDIS_KEY);
if (!StringUtils.isBlank(result)) {
List<CatNode> resultlist = JsonUtils.jsonToList(result, CatNode.class);
CatResult catResult = new CatResult();
// 查询分类列表
catResult.setData(resultlist);
return catResult;
}
} catch (Exception e) {
e.printStackTrace();
}
//---------------------------------------------缓存添加--------------------
三、测试缓存