String - Fixed Window Rate Limiter(비율 계산기) 에 질문 드립니다.
1.1.1.1:10 으로 key가 만들어 졌을 때, 만료가 11분이 되는건가요?
설명에는 10분에서 11분까지로 알려주시던데
20이라는 요청 제한 수는 프로그램에서 관리하는 수가 되는거죠?
다이어 그림에
expire 1.1.1.1:10 60 / exec 의 의미는 무엇인가요?
답변 1
0
안녕하세요. 예제 상황에서 사용자의 IP가 1.1.1.1이라고 가정했을 때, 분 단위의 요청 횟수를 제한하기 위해서 10분에서 11분 사이의 요청 횟수를 1.1.1.1:10 키로 갖는 string 타입의 캐시를 추가하였습니다.
20이라는 값은 이미 해당 IP로 10분에서 11분 사이에 20번의 클라이언트 요청이 발생한 것을 의미합니다. (이 부분은 예제에서 0초에 첫 요청이 오는 것처럼 설명이 되어 있어서 헷갈리셨을 것 같네요)
만약 서버에서 IP 별로 분당 20회의 요청만 허용하기로 했다면, 21번째 요청부터는 에러를 발생시키면 되고, 아직 20번째 요청이 발생하기 전에는 새로운 요청마다 INCR 명령어를 통해서 값을 1 증가 시켜서 해당 값을 관리하면 됩니다.
MULTI부터 EXEC까지는 그 사이에 있는 INCR, EXPIRE 두 개의 명령을 한 번에 적용하기 위해서 transaction을 사용하는 명령어입니다.
EXPIRE 1.1.1.1:10 60을 통해서 해당 키를 60초 이후에 만료 시키는 이유는 60초 이후인 11분 부터는 해당 캐시값이 더 이상 필요하지 않아서 데이터를 삭제하기 위함입니다.
Stale Cahe Invalidation 방법에 대한 질문 요청 드립니다
0
116
2
pipeline 다이어그램 m/s 오타 제보
0
100
1
Streams 삭제 관련 질문
0
121
2
ZSet 다이어그램 질문
0
84
2
안녕하세요 Pub/sub과 분산 락에 대해 질문이 있습니다.
0
206
2
분산 락에 대해 질문 있습니다.
0
103
1
장바구니 구현 관련
0
119
2
레디스 사용관련 질문
0
205
1
Rate Limiter 예제에 대해 질문있습니다!
0
226
2
Bitmap - User Online Status(온라인 상태 표시)에 질문 드립니다.
0
239
1
Hash - Login Session(로그인 세션)에 대해 질문 드립니다.
0
244
1
Sorted Sets에 대해 질문 합니다.
0
230
2
데이터 타입 활용 - 온라인 상태 표시 [Bitmap] 관련 질문
2
223
1
ec2 내 Redis 잘못된 host 연결
0
364
1
Stable Cache Invalidation 해결방안
0
467
3
Stale cahe invalidation 예시
0
321
1
블룸필터-중복이벤트 제거 예시
0
276
1
온라인 상태 표시
0
248
1
해시-로그인세션 꼭 해시를 쓰는 이유가 무엇인가요?
0
309
2
개인 블로그 공유
0
283
1
subscriber, publisher 두개 같은 포트로 띄울 수 있나요?
0
388
2
외부 클라이언트에서 도커 redis-stack-server 접속 시, 블룸필터 명령어가 없다고 합니다.
0
559
1
트랜잭션(multi) 질문입니다.
0
319
1
Sliding Window Rate Limiter에 대한 질문
1
374
1





