pay 缓存,使用 guava 替代 job 扫描,目的:提升启动速度,加快缓存失效

This commit is contained in:
YunaiV
2023-09-16 23:22:58 +08:00
parent a51579a77d
commit 222daa5366
14 changed files with 146 additions and 162 deletions

View File

@ -18,6 +18,7 @@ import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import org.springframework.validation.annotation.Validated;
import javax.annotation.PostConstruct;
@ -42,6 +43,11 @@ import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.SENSITIVE_
@Validated
public class SensitiveWordServiceImpl implements SensitiveWordService {
/**
* 是否开启敏感词功能
*/
private static final Boolean ENABLED = false;
/**
* 敏感词列表缓存
*/
@ -75,6 +81,10 @@ public class SensitiveWordServiceImpl implements SensitiveWordService {
*/
@PostConstruct
public void initLocalCache() {
if (!ENABLED) {
return;
}
// 第一步:查询数据
List<SensitiveWordDO> sensitiveWords = sensitiveWordMapper.selectList();
log.info("[initLocalCache][缓存敏感词,数量为:{}]", sensitiveWords.size());
@ -216,6 +226,9 @@ public class SensitiveWordServiceImpl implements SensitiveWordService {
@Override
public List<String> validateText(String text, List<String> tags) {
Assert.isTrue(ENABLED, "敏感词功能未开启,请将 ENABLED 设置为 true");
// 无标签时,默认所有
if (CollUtil.isEmpty(tags)) {
return defaultSensitiveWordTrie.validate(text);
}
@ -233,6 +246,9 @@ public class SensitiveWordServiceImpl implements SensitiveWordService {
@Override
public boolean isTextValid(String text, List<String> tags) {
Assert.isTrue(ENABLED, "敏感词功能未开启,请将 ENABLED 设置为 true");
// 无标签时,默认所有
if (CollUtil.isEmpty(tags)) {
return defaultSensitiveWordTrie.isValid(text);
}