@Autowired
private JedisClient jedisClient;
/**
* 根据内容分类id查询内容列表
cn.e3mall.content.service.ContentService#getContentListByCid(long)
*/
public List<TbContent> getContentListByCid(long cid) {
try {
String json = jedisClient.hget("CONTENT_LIST", cid + "");
if (StringUtils.isNotBlank(json)) {
List<TbContent> list = JsonUtils.jsonToList(json, TbContent.class);
return list;
}
} catch (Exception e) {
e.printStackTrace();
}
TbContentExample example = new TbContentExample();
Criteria criteria = example.createCriteria();
criteria.andCategoryIdEqualTo(cid);
List<TbContent> list = contentMapper.selectByExampleWithBLOBs(example);
try {
jedisClient.hset("CONTENT_LIST", cid + "", JsonUtils.objectToJson(list));
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}
缓存同步
当做增删改时需要更新缓存
@Override
public E3Result addContent(TbContent content) {
contentMapper.insert(content);
jedisClient.hdel(CONTENT_LIST, content.getCategoryId().toString());
return E3Result.ok();
}
public TbItem getItemById(long itemId) {
try {
String json = jedisClient.get("REDIS_ITEM_PRE" + ":" + itemId + ":BASE");
if(StringUtils.isNotBlank(json)) {
TbItem tbItem = JsonUtils.jsonToPojo(json, TbItem.class);
return tbItem;
}
} catch (Exception e) {
e.printStackTrace();
}
TbItemExample example = new TbItemExample();
Criteria criteria = example.createCriteria();
criteria.andIdEqualTo(itemId);
List<TbItem> list = itemMapper.selectByExample(example);
if (list != null && list.size() > 0) {
try {
jedisClient.set("REDIS_ITEM_PRE" + ":" + itemId + ":BASE", JsonUtils.objectToJson(list.get(0)));
jedisClient.expire("REDIS_ITEM_PRE" + ":" + itemId + ":BASE",3600);
} catch (Exception e) {
e.printStackTrace();
}
return list.get(0);
}
return null;
}