프로젝트 & 공부/개발일지

[2023 프로젝트 DGRR] Redis Sorted Set을 이용한 랭킹 구현

andbeyond 2023. 10. 16. 15:12

계기

싸피에서는 2학기에 공통, 특화, 자율 프로젝트를 진행하게 되는데, 나를 포함한 공통 팀원들이 반복되는 기획에 지치기도 하고 공통 때 구현했던 프로젝트가 워낙 재밌기도 했어서 자율을 리팩토링 및 기능 추가로 진행하기로 했다.

기존 프로젝트는 화상 웃음참기 챌린지 게임이었는데, 랜덤으로 상대가 결정되기 때문에 지인들끼리 하고 싶다는 의견이 많아 방 만들기를 추가하고 다른 기능들도 조금씩 추가하기로 했다. 나는 그 중 랭킹을 구현하기로 했다. 리더님은 elastic search를 썼으면 좋겠다고 했다. 랭킹 구현은 처음이라 어떤 기술을 쓰고 사람들은 어떤 식으로 구현하는지 알아보고자 한다.

 

이해

티어 기능은 이미 구현이 되어 있었는데, ELO 레이팅을 이용한 상태였다.

게임 구현에 집중했기 때문에 단순하게 경험치처럼 이기면 티어가 오르도록 해둔 상태라 

 

생각해보니 그냥 점수만 보고 랭킹 구현하면 되니까 티어는 상관 없을 듯 하다.

 

Redis를 이용해서 sorted set으로 구현하면 좋을 것 같다!

 

https://velog.io/@chaerim1001/Redis-NestJS-Sorted-set%EC%9D%84-%ED%99%9C%EC%9A%A9%ED%95%9C-%EB%9E%AD%ED%82%B9-%EA%B5%AC%ED%98%84

 

Redis의 Sorted set을 사용하여 랭킹 기능 구현하기

Redis의 sorted set을 이용해서 랭킹 기능을 구현하기

velog.io