Преглед изворни кода

[优化]统一缓存管理,调整默认缓存时间1分钟

release_toaliyun_real
bruce пре 6 година
родитељ
комит
9e1f60b6bd
6 измењених фајлова са 27 додато и 25 уклоњено
  1. +2
    -2
      mallinkBApi/src/main/java/com/iformall/annotation/RedisCache.java
  2. +3
    -3
      mallinkBApi/src/main/java/com/iformall/controller/WxDateAmountRecordController.java
  3. +2
    -2
      mallinkCApi/src/main/java/com/iformall/annotation/RedisCache.java
  4. +1
    -1
      mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java
  5. +3
    -2
      mallinkService/src/main/java/com/iformall/service/RedisService.java
  6. +16
    -15
      mallinkService/src/main/java/com/iformall/service/impl/RedisServiceImpl.java

+ 2
- 2
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;

/**
* 时间单位默认为秒


+ 3
- 3
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() {


+ 2
- 2
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;

/**
* 时间单位默认为秒


+ 1
- 1
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<String> keys) {
public ResultData delRedisKey(@RequestBody Collection<Object> keys) {
return new ResultData(redisService.delRedisKey(keys));
}



+ 3
- 2
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<Object> hotApi() ;
Collection<Object> hotApi() ;

/**
* 清除指定key
* @param keys
* @return
*/
boolean delRedisKey(List<String> keys) ;
boolean delRedisKey(Collection<Object> keys) ;
}

+ 16
- 15
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<Object> hotApi() {
public Collection<Object> hotApi() {
return stringRedisTemplate.opsForHash().keys(KEY_HOT_API);
}

@Override
public boolean delRedisKey(List<String> keys) {
public boolean delRedisKey(Collection<Object> 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<Boolean>() {
@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;
}
}

Loading…
Откажи
Сачувај