이 책에서는 루아스크립트랑 sorted set 자료구조를 제안한다.

 

1. lua script

원래 C/C++에 간단히 삽입할 수 있는 쉽고 간단한 언어로 만들어졌다고 하는데

레디스에도 루아스크립트 엔진이 내장돼있다고한다.

atomic한 연산을 직접 작성할 수 있다.

 

2. redis sorted set

sorted set의 커맨드를 이용한 방법이다.

(1) 처리율 제한 대상별로 sorted set을 만든다.

(2) 요청이 오면 timestamp를 저장한다.

(3) 현재 시간 기준으로 outdated된 timestamp를 한번에 제거한다 (zremrangebyscore command)

(4) zscore로 남은 개수를 세서 rate limit

+ Recent posts