概述
/**
* 产品收藏数量累加(真实累加)
* @author qinyang
* data:2017年7月5日
*/
public void collectionProductCount(String proId,String collectionFlag,Auserlesen auserlesen) {
String key = CacheConstants.PROJECT_NAME+"_"+CacheConstants.WKYX_PRO_COUNT+"_"+proId;
int count = 0;
long num = 0;
if(!JedisUtil.exists(key)){
count = auserlesen.getCount();
JedisUtil.set(key,count+"");
}
RedisLock lock = new RedisLock(key);
try{
if(!StringUtils.isEmpty(collectionFlag)&&"on".equals(collectionFlag)){
num = JedisUtil.incr(key);
}else if (!StringUtils.isEmpty(collectionFlag)&&"off".equals(collectionFlag)) {
num = JedisUtil.decr(key);
}
logger.info("收藏更新redis缓存成功:"+num);
}catch(Exception e){
logger.error("产品收藏异常", e);
}finally{
lock.unlock();
}
try{
if(num != 0 && num % 50 == 0){//redis中每满50次,做一次数据落地
auserlesen.setCount(Integer.parseInt(num+""));
auserlesen.update();
logger.info("更新数据库收藏数量成功:"+num);
}
}catch(Exception e){
logger.error("更新数据库收藏数量异常", e);
}
}
最后
以上就是迷路硬币为你收集整理的利用redis实现收藏或者点赞数量的累加的全部内容,希望文章能够帮你解决利用redis实现收藏或者点赞数量的累加所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复