diff --git a/mallinkBApi/src/main/java/com/iformall/annotation/RedisCache.java b/mallinkBApi/src/main/java/com/iformall/annotation/RedisCache.java index 7f35a8288..a7ca0d919 100644 --- a/mallinkBApi/src/main/java/com/iformall/annotation/RedisCache.java +++ b/mallinkBApi/src/main/java/com/iformall/annotation/RedisCache.java @@ -40,10 +40,10 @@ public @interface RedisCache { boolean md5() default true ; /** - * key 过期日期默认300秒 + * key 过期日期默认60秒 * @return */ - int expireTime() default 300; + int expireTime() default 60; /** * 时间单位默认为秒 diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxDateAmountRecordController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxDateAmountRecordController.java index 01a74f0eb..7b96bed78 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxDateAmountRecordController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxDateAmountRecordController.java @@ -32,21 +32,21 @@ public class WxDateAmountRecordController extends BaseController { @Autowired private WxDateAmountRecordService wxDateAmountRecordService; - @RedisCache(expireTime = 120) + @RedisCache @ApiOperation("首页查询交易金额记录接口") @GetMapping("listOrder") public ResultData listOrder() { return list(EnumDateAmtType.PAY_RECORD.getCode()); } - @RedisCache(expireTime = 120) + @RedisCache @ApiOperation("首页查询核销金额记录接口") @GetMapping("listVerified") public ResultData listVerified() { return list(EnumDateAmtType.VERIFY_RECORD.getCode()); } - @RedisCache(expireTime = 120) + @RedisCache @ApiOperation("首页查询刷卡金额记录接口") @GetMapping("listMicropay") public ResultData listMicropay() { diff --git a/mallinkCApi/src/main/java/com/iformall/annotation/RedisCache.java b/mallinkCApi/src/main/java/com/iformall/annotation/RedisCache.java index da8512502..185736606 100644 --- a/mallinkCApi/src/main/java/com/iformall/annotation/RedisCache.java +++ b/mallinkCApi/src/main/java/com/iformall/annotation/RedisCache.java @@ -40,10 +40,10 @@ public @interface RedisCache { boolean md5() default true ; /** - * key 过期日期默认300秒 + * key 过期日期默认60秒 * @return */ - int expireTime() default 300; + int expireTime() default 60; /** * 时间单位默认为秒 diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java index bff21da65..2f6b5813b 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java @@ -130,7 +130,7 @@ public class WxMallController extends BaseController { @ApiOperation("删除指定key") @PostMapping("/delRedisKey") - public ResultData delRedisKey(@RequestBody List keys) { + public ResultData delRedisKey(@RequestBody Collection keys) { return new ResultData(redisService.delRedisKey(keys)); } diff --git a/mallinkService/src/main/java/com/iformall/service/RedisService.java b/mallinkService/src/main/java/com/iformall/service/RedisService.java index 1cffaefcd..d1bd09801 100644 --- a/mallinkService/src/main/java/com/iformall/service/RedisService.java +++ b/mallinkService/src/main/java/com/iformall/service/RedisService.java @@ -1,5 +1,6 @@ package com.iformall.service; +import java.util.Collection; import java.util.List; import java.util.Set; @@ -11,12 +12,12 @@ public interface RedisService { * 获取热点缓存接口列表 * @return */ - Set hotApi() ; + Collection hotApi() ; /** * 清除指定key * @param keys * @return */ - boolean delRedisKey(List keys) ; + boolean delRedisKey(Collection keys) ; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/RedisServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/RedisServiceImpl.java index bd21b508b..4d3a905ee 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/RedisServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/RedisServiceImpl.java @@ -4,9 +4,13 @@ import com.iformall.service.RedisService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.data.redis.core.RedisOperations; +import org.springframework.data.redis.core.SessionCallback; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; +import java.util.Collection; import java.util.List; import java.util.Set; @@ -18,28 +22,25 @@ public class RedisServiceImpl implements RedisService { private StringRedisTemplate stringRedisTemplate; @Override - public Set hotApi() { + public Collection hotApi() { return stringRedisTemplate.opsForHash().keys(KEY_HOT_API); } @Override - public boolean delRedisKey(List keys) { + public boolean delRedisKey(Collection keys) { if (CollectionUtils.isEmpty(keys)) { return false; } - boolean result; - stringRedisTemplate.multi(); - try { - stringRedisTemplate.opsForValue().getOperations().delete(keys); - stringRedisTemplate.opsForHash().delete(KEY_HOT_API, keys.toArray()); - result = true; - } catch (Exception e) { - log.error("delRedisKey error", e); - stringRedisTemplate.discard(); - result = false; - } finally { - stringRedisTemplate.exec(); - } + boolean result = stringRedisTemplate.execute(new SessionCallback() { + @Override + public Boolean execute(RedisOperations redisOperations) throws DataAccessException { + redisOperations.multi(); + redisOperations.opsForValue().getOperations().delete(keys); + redisOperations.opsForHash().delete(KEY_HOT_API, keys.toArray()); + redisOperations.exec(); + return true ; + } + }); return result; } }