mirror of
https://gitee.com/lxp135/minio-plus.git
synced 2025-12-06 08:58:25 +08:00
性能优化:解决大量相同MD5文件下载、预览、删除时可能导致的慢SQL问题。
This commit is contained in:
parent
a2adf3b411
commit
0cb4d9f3e3
@ -500,9 +500,10 @@ public class StorageEngineServiceImpl implements StorageEngineService {
|
|||||||
|
|
||||||
FileMetadataInfoDTO fileMetadataInfo = new FileMetadataInfoDTO();
|
FileMetadataInfoDTO fileMetadataInfo = new FileMetadataInfoDTO();
|
||||||
fileMetadataInfo.setFileMd5(metadata.getFileMd5());
|
fileMetadataInfo.setFileMd5(metadata.getFileMd5());
|
||||||
List<FileMetadataInfoVo> metadataList = metadataRepository.list(fileMetadataInfo);
|
fileMetadataInfo.setIsFinished(Boolean.TRUE);
|
||||||
|
FileMetadataInfoVo fileMetadataInfoVo = metadataRepository.one(fileMetadataInfo);
|
||||||
|
|
||||||
if (CollUtil.isEmpty(metadataList)) {
|
if (null == fileMetadataInfoVo) {
|
||||||
// 当不存在任何该MD5值的文件元数据时,删除物理文件
|
// 当不存在任何该MD5值的文件元数据时,删除物理文件
|
||||||
minioS3Client.removeObject(metadata.getStorageBucket(), metadata.getStoragePath() + "/" + metadata.getFileMd5());
|
minioS3Client.removeObject(metadata.getStorageBucket(), metadata.getStoragePath() + "/" + metadata.getFileMd5());
|
||||||
if (Boolean.TRUE.equals(metadata.getIsPreview())) {
|
if (Boolean.TRUE.equals(metadata.getIsPreview())) {
|
||||||
@ -524,9 +525,9 @@ public class StorageEngineServiceImpl implements StorageEngineService {
|
|||||||
FileMetadataInfoDTO fileMetadataInfo = new FileMetadataInfoDTO();
|
FileMetadataInfoDTO fileMetadataInfo = new FileMetadataInfoDTO();
|
||||||
fileMetadataInfo.setFileKey(fileKey);
|
fileMetadataInfo.setFileKey(fileKey);
|
||||||
// 取得md5元数据
|
// 取得md5元数据
|
||||||
List<FileMetadataInfoVo> fileMetadataInfoVoList = metadataRepository.list(fileMetadataInfo);
|
FileMetadataInfoVo fileMetadataInfoVo = metadataRepository.one(fileMetadataInfo);
|
||||||
|
|
||||||
for (FileMetadataInfoVo fileMetadataInfoVo : fileMetadataInfoVoList) {
|
if ( null!= fileMetadataInfoVo ) {
|
||||||
if (Boolean.FALSE.equals(fileMetadataInfoVo.getIsPrivate()) || fileMetadataInfoVo.getCreateUser().equals(userId)) {
|
if (Boolean.FALSE.equals(fileMetadataInfoVo.getIsPrivate()) || fileMetadataInfoVo.getCreateUser().equals(userId)) {
|
||||||
return fileMetadataInfoVo;
|
return fileMetadataInfoVo;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user