최근에 프로젝트를 진행하면서 구현했던 기능 중 하나에 대해 포스팅하고자 한다. 해당 기능을 구현하는데 사용된 것은 Redis, MySQL, NodeJS 이렇게 3가지가 주된 기능을 구현하는데 사용됐다. 개요는 위와 같고, 실제 구현된 기능에 대한 메인 요구사항은 다음과 같다. 관리자 페이지에서 등록된 이벤트 중 진행중인 이벤트 리스트는 상위에서 랜덤한 리스트 배열로 전달해주시고, 이외에 신청한 이벤트/종료된 이벤트는 아래에서 무한스크롤로 할 수 있도록 해주세요. 이 기능에 대해 등록되는 이벤트들의 개수는 큰 변화가 없을 것이고 빈번한 수정이 일어나는 리스트 데이터가 아니기 때문에 캐싱을 하여 작업하도록 설계했고, 이외에 무한스크롤에 해당하는 데이터는 실제 RDB에 접근하여 전달하도록 설계했다. 구현한 순..