记得上下班打卡 | git大法好,push需谨慎

Commit 1f3b0e32 authored by wangyifan's avatar wangyifan

缓存改造- adam:info:enters 增加缓存过期时间

parent ad5c6c33
......@@ -16,4 +16,10 @@ public class RedisKeyExpireConst {
// kylin:order:list:userId 过期时间为10天
public static final long KYLIN_ORDER_LIST_USERID_EXPIRE = 10 * 24 * 60 * 60;
// adam:info:enters 过期时间为30天
public static final long ADAM_INFO_ENTERS_EXPIRE = 30 * 24 * 60 * 60;
// sweet:integralActivity:DrawInfo:drawId 过期时间为10天
public static final long SWEET_INTEGRALACTIVITY_DRAWINFO_DRAWID_EXPIRE = 10 * 24 * 60 * 60;
}
package com.liquidnet.service.adam.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.databind.JsonNode;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.common.exception.LiquidnetServiceException;
......@@ -9,7 +11,9 @@ import com.liquidnet.commons.lang.util.SensitizeUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.adam.dto.AdamUserInfoDto;
import com.liquidnet.service.adam.dto.vo.*;
import com.liquidnet.service.adam.entity.AdamEnters;
import com.liquidnet.service.adam.entity.AdamUserMember;
import com.liquidnet.service.adam.mapper.AdamEntersMapper;
import com.liquidnet.service.adam.mapper.AdamUserMapper;
import com.liquidnet.service.adam.mapper.AdamUserMemberMapper;
import com.liquidnet.service.adam.util.ObjectUtil;
......@@ -43,6 +47,8 @@ public class AdamRdmService {
AdamUserMapper adamUserMapper;
@Autowired
AdamUserMemberMapper adamUserMemberMapper;
@Autowired
AdamEntersMapper adamEntersMapper;
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | Switch config */
......@@ -452,13 +458,32 @@ public class AdamRdmService {
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | <UID, List<AdamEntersVo>> */
public boolean setEntersVoByUid(String uid, List<AdamEntersVo> list) {
return redisUtil.set(AdamRedisConst.INFO_ENTERS.concat(uid), list);
return redisUtil.set(AdamRedisConst.INFO_ENTERS.concat(uid), list, RedisKeyExpireConst.ADAM_INFO_ENTERS_EXPIRE);
}
public List<AdamEntersVo> getEntersVoByUid(String uid) {
String rk = AdamRedisConst.INFO_ENTERS.concat(uid);
long s = System.currentTimeMillis();
ArrayList<AdamEntersVo> vos = (ArrayList<AdamEntersVo>) redisUtil.get(rk);
if (CollectionUtils.isEmpty(vos)) {
log.info("not find value in redis cache, key: {}", rk);
// 从数据库查询入场人信息VO
LambdaQueryWrapper<AdamEnters> lambda = new QueryWrapper<AdamEnters>().lambda();
lambda.eq(AdamEnters::getUid, uid);
lambda.eq(AdamEnters::getState, 1);
lambda.orderByDesc(AdamEnters::getCreatedAt);
List<AdamEnters> adamEnters = adamEntersMapper.selectList(lambda);
if (!CollectionUtils.isEmpty(adamEnters)) {
log.info("query value in MySQL, size: {}", adamEnters.size());
ArrayList<AdamEntersVo> voList = new ArrayList<>(adamEnters.size());
adamEnters.forEach(e -> {
voList.add(AdamEntersVo.getNew().copy(e));
});
vos = voList;
boolean setResult = setEntersVoByUid(uid, vos);
log.info("save value to redis cache, key: {}, result: {}", rk, setResult);
}
}
// if (CollectionUtils.isEmpty(vos)) {
// s = System.currentTimeMillis();
// vos = mongoTemplate.find(
......@@ -478,7 +503,7 @@ public class AdamRdmService {
vos = ObjectUtil.getAdamEntersVoArrayList();
}
vos.add(0, vo);
return redisUtil.set(AdamRedisConst.INFO_ENTERS + uid, vos);
return redisUtil.set(AdamRedisConst.INFO_ENTERS + uid, vos, RedisKeyExpireConst.ADAM_INFO_ENTERS_EXPIRE);
}
public boolean rmvEntersVoByUid(String uid, List<AdamEntersVo> vos, String entersId) {
......@@ -486,7 +511,7 @@ public class AdamRdmService {
return true;
}
vos.removeIf(r -> r.getEntersId().equals(entersId));
return redisUtil.set(AdamRedisConst.INFO_ENTERS + uid, vos);
return redisUtil.set(AdamRedisConst.INFO_ENTERS + uid, vos, RedisKeyExpireConst.ADAM_INFO_ENTERS_EXPIRE);
}
public AdamEntersVo getEntersVoByUidEntersId(List<AdamEntersVo> vos, String entersId) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment