redis文件引起的问题
This commit is contained in:
parent
034750115d
commit
7319c24403
@ -13,6 +13,7 @@ import org.springframework.stereotype.Component;
|
|||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ClassName: RedisFilesShowCodeServiceImpl
|
* @ClassName: RedisFilesShowCodeServiceImpl
|
||||||
@ -36,12 +37,12 @@ public class RedisFilesShowCodeService implements IFilesShowCodeService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void clearTimeoutShowCode() {
|
public void clearTimeoutShowCode() {
|
||||||
Set<String> keySet = redisTemplate.keys(FILE_SHOW_CODE_KEY);
|
Set<String> keySet = redisTemplate.keys(FILE_SHOW_CODE_KEY + "**");
|
||||||
long currentTimeMillis = System.currentTimeMillis();
|
long currentTimeMillis = System.currentTimeMillis();
|
||||||
Set<String> clearKeys = new HashSet<>(16);
|
Set<String> clearKeys = new HashSet<>(16);
|
||||||
long clearTimeoutShowCodeCount = 0;
|
long clearTimeoutShowCodeCount = 0;
|
||||||
for (String key : keySet) {
|
for (String key : keySet) {
|
||||||
FilesShowCode showCode = getShowCode(key);
|
FilesShowCode showCode = (FilesShowCode) redisTemplate.opsForValue().get(key);
|
||||||
if (currentTimeMillis - showCode.getLatestUpdateTime() > SHOW_CODE_TIMEOUT_MILLIS) {
|
if (currentTimeMillis - showCode.getLatestUpdateTime() > SHOW_CODE_TIMEOUT_MILLIS) {
|
||||||
clearKeys.add(FILE_SHOW_CODE_KEY + showCode.getFileId());
|
clearKeys.add(FILE_SHOW_CODE_KEY + showCode.getFileId());
|
||||||
}
|
}
|
||||||
@ -66,8 +67,7 @@ public class RedisFilesShowCodeService implements IFilesShowCodeService {
|
|||||||
public synchronized FilesShowCode getShowCode(String fileId) {
|
public synchronized FilesShowCode getShowCode(String fileId) {
|
||||||
FilesShowCode showCode = (FilesShowCode) redisTemplate.opsForValue().get(FILE_SHOW_CODE_KEY + fileId);
|
FilesShowCode showCode = (FilesShowCode) redisTemplate.opsForValue().get(FILE_SHOW_CODE_KEY + fileId);
|
||||||
if (showCode != null) {
|
if (showCode != null) {
|
||||||
showCode.setLatestUpdateTime(System.currentTimeMillis());
|
redisTemplate.opsForValue().set(FILE_SHOW_CODE_KEY + fileId, showCode, 1, TimeUnit.MINUTES);
|
||||||
redisTemplate.opsForValue().set(FILE_SHOW_CODE_KEY + fileId, showCode);
|
|
||||||
}
|
}
|
||||||
return showCode;
|
return showCode;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user