添加更多锁

This commit is contained in:
2025-04-05 17:41:50 +08:00
parent b4aa3619ba
commit ff82644f47
2 changed files with 24 additions and 60 deletions

View File

@@ -320,45 +320,21 @@ public class BceFaceBodyAdapter implements IFaceBodyAdapter {
private IRateLimiter getLimiter(LOCK_TYPE type) {
switch (type) {
case ADD_DB:
if (addDbLimiters.get(config.getAppId()) == null) {
addDbLimiters.put(config.getAppId(), new FixedRateLimiter(100, TimeUnit.MILLISECONDS));
}
return addDbLimiters.get(config.getAppId());
return addDbLimiters.computeIfAbsent(config.getAppId(), k -> new FixedRateLimiter(100, TimeUnit.MILLISECONDS));
case ADD_FACE:
if (addFaceLimiters.get(config.getAppId()) == null) {
addFaceLimiters.put(config.getAppId(), new FixedRateLimiter(config.getAddQps()));
}
return addFaceLimiters.get(config.getAppId());
return addFaceLimiters.computeIfAbsent(config.getAppId(), k -> new FixedRateLimiter(config.getAddQps()));
case LIST_DB:
if (listDbLimiters.get(config.getAppId()) == null) {
listDbLimiters.put(config.getAppId(), new FixedRateLimiter(100, TimeUnit.MILLISECONDS));
}
return listDbLimiters.get(config.getAppId());
return listDbLimiters.computeIfAbsent(config.getAppId(), k -> new FixedRateLimiter(100, TimeUnit.MILLISECONDS));
case LIST_FACE:
if (listFaceLimiters.get(config.getAppId()) == null) {
listFaceLimiters.put(config.getAppId(), new FixedRateLimiter(100, TimeUnit.MILLISECONDS));
}
return listFaceLimiters.get(config.getAppId());
return listFaceLimiters.computeIfAbsent(config.getAppId(), k -> new FixedRateLimiter(100, TimeUnit.MILLISECONDS));
case SEARCH_FACE:
if (searchFaceLimiters.get(config.getAppId()) == null) {
searchFaceLimiters.put(config.getAppId(), new FixedRateLimiter(config.getSearchQps()));
}
return searchFaceLimiters.get(config.getAppId());
return searchFaceLimiters.computeIfAbsent(config.getAppId(), k -> new FixedRateLimiter(config.getSearchQps()));
case DELETE_DB:
if (deleteDbLimiters.get(config.getAppId()) == null) {
deleteDbLimiters.put(config.getAppId(), new FixedRateLimiter(100, TimeUnit.MILLISECONDS));
}
return deleteDbLimiters.get(config.getAppId());
return deleteDbLimiters.computeIfAbsent(config.getAppId(), k -> new FixedRateLimiter(100, TimeUnit.MILLISECONDS));
case DELETE_ENTITY:
if (deleteEntityLimiters.get(config.getAppId()) == null) {
deleteEntityLimiters.put(config.getAppId(), new FixedRateLimiter(100, TimeUnit.MILLISECONDS));
}
return deleteEntityLimiters.get(config.getAppId());
return deleteEntityLimiters.computeIfAbsent(config.getAppId(), k -> new FixedRateLimiter(100, TimeUnit.MILLISECONDS));
case DELETE_FACE:
if (deleteFaceLimiters.get(config.getAppId()) == null) {
deleteFaceLimiters.put(config.getAppId(), new FixedRateLimiter(100, TimeUnit.MILLISECONDS));
}
return deleteFaceLimiters.get(config.getAppId());
return deleteFaceLimiters.computeIfAbsent(config.getAppId(), k -> new FixedRateLimiter(100, TimeUnit.MILLISECONDS));
default:
return new FixedRateLimiter(500, TimeUnit.MILLISECONDS);
}