Skip to content

Commit d45e171

Browse files
committedApr 26, 2024
fix: counter 1부터 시작하는 에러 수정
1 parent cc1c5bc commit d45e171

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed
 

‎src/main/java/com/systemdesign/slidingwindowlog/service/SlidingWindowLogService.java

+5-8
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,16 @@ public Mono<SlidingWindowLogProfileResponse> createSlidingWindowLog() {
3030
log.info("Sliding Window log created. key: {}", redisKey);
3131

3232
return redisTemplate.opsForZSet()
33-
.add(redisKey, String.valueOf(currentTimestamp), currentTimestamp)
34-
.flatMap(added -> redisTemplate.opsForZSet().removeRangeByScore(redisKey, Range.closed(0D,
35-
calculateTimeRange())))
36-
.flatMap(removed -> redisTemplate.opsForZSet().count(redisKey,
37-
Range.closed(calculateTimeRange(), (double) currentTimestamp)))
33+
.removeRangeByScore(redisKey, Range.closed(0D, calculateTimeRange()))
34+
.flatMap(removed -> redisTemplate.opsForZSet().count(redisKey, Range.closed(calculateTimeRange(), (double) currentTimestamp)))
3835
.flatMap(count -> {
39-
log.info("Sliding Window log count: {}", count);
40-
4136
if (count >= SLIDING_WINDOW_MAX_REQUEST) {
4237
log.error("Rate limit exceeded. key: {}", redisKey);
4338
return Mono.error(new RateLimitExceededException(RateExceptionCode.COMMON_TOO_MANY_REQUESTS, count));
4439
}
45-
return Mono.just(SlidingWindowLogProfileResponse.from(List.of(SlidingWindowLogResponse.from(redisKey, count + 1))));
40+
return redisTemplate.opsForZSet()
41+
.add(redisKey, String.valueOf(currentTimestamp), currentTimestamp)
42+
.flatMap(added -> Mono.just(SlidingWindowLogProfileResponse.from(List.of(SlidingWindowLogResponse.from(redisKey, count + 1)))));
4643
});
4744
}
4845

0 commit comments

Comments
 (0)
Please sign in to comment.