레디스 편집하기
최신판 | 당신의 편집 | ||
74번째 줄: | 74번째 줄: | ||
===레디스 활용 사례=== | ===레디스 활용 사례=== | ||
*좋아요 처리하기: 좋아요 처리에서 가장 중요한 것은 한 사용자가 하나의 댓글에 좋아요를 한 번씩만 할 수 있다는 것이다. [[RDBMS]](관계형 데이터베이스 관리 시스템, Relational DataBase Management System)에서 유니크 조건을 걸어서 구현할 수 있지만, [[인서트]](insert)와 [[업데이트]](update)가 자주 발생하는 경우 RDBMS 성능 저하가 필연적으로 발생하게 된다. 레디스의 셋을 이용하면 간단하게 구현할 수 있으며, 빠른 시간 안에 처리할 수 있다. 댓글의 번호를 key로 하고, 해당 댓글에 좋아요를 누른 회원 ID를 아이템으로 추가하면 조건을 만족할 수 있다.<ref name="레디스 활용">taehyun_kim, 〈[https://happyer16.tistory.com/entry/%EB%A0%88%EB%94%94%EC%8A%A4Redis%EC%9D%98-%EB%8B%A4%EC%96%91%ED%95%9C-%ED%99%9C%EC%9A%A9-%EC%82%AC%EB%A1%80 레디스(Redis)의 다양한 활용 사례 ]〉, 《티스토리》, 2020-03-17</ref> | *좋아요 처리하기: 좋아요 처리에서 가장 중요한 것은 한 사용자가 하나의 댓글에 좋아요를 한 번씩만 할 수 있다는 것이다. [[RDBMS]](관계형 데이터베이스 관리 시스템, Relational DataBase Management System)에서 유니크 조건을 걸어서 구현할 수 있지만, [[인서트]](insert)와 [[업데이트]](update)가 자주 발생하는 경우 RDBMS 성능 저하가 필연적으로 발생하게 된다. 레디스의 셋을 이용하면 간단하게 구현할 수 있으며, 빠른 시간 안에 처리할 수 있다. 댓글의 번호를 key로 하고, 해당 댓글에 좋아요를 누른 회원 ID를 아이템으로 추가하면 조건을 만족할 수 있다.<ref name="레디스 활용">taehyun_kim, 〈[https://happyer16.tistory.com/entry/%EB%A0%88%EB%94%94%EC%8A%A4Redis%EC%9D%98-%EB%8B%A4%EC%96%91%ED%95%9C-%ED%99%9C%EC%9A%A9-%EC%82%AC%EB%A1%80 레디스(Redis)의 다양한 활용 사례 ]〉, 《티스토리》, 2020-03-17</ref> | ||
− | *게임 서비스에서 일일 순 방문자 수 구하기: 순 방문자 수는 서비스에 사용자가 하루에 여러 번 방문했더라도 한 번만 카운팅 되는 값이다. 이를 구현하기 위해서는 구글 [[애널리틱스]](Analytics)와 같은 외부 서비스를 이용하거나 접속 정보를 로그 파일로 작성하여 배치 프로그램을 작성하는 방법들이 있다. 레디스의 비트 연산을 활용하면 간단하게 실시간 순 방문자를 저장하고 조회하는 방법을 구현할 수 있다.<ref name="레디스 활용"></ref> | + | *게임 서비스에서 일일 순 방문자 수 구하기: 순 방문자 수는 서비스에 사용자가 하루에 여러 번 방문했더라도 한 번만 카운팅 되는 값이다. 이를 구현하기 위해서는 구글 [[애널리틱스]](Analytics)와 같은 외부 서비스를 이용하거나 접속 정보를 로그 파일로 작성하여 배치 프로그램을 작성하는 방법들이 있다. 레디스의 비트 연산을 활용하면 간단하게 실시간 순 방문자를 저장하고 조회하는 방법을 구현할 수 있다.<ref name="레디스 활용"> </ref> |
*출석 이벤트 구현하기: 일일 순 방문자 수 구하기를 이용해 매일 방문자를 구현하였고, 구해놓은 String 간의 비트를 비교하는 BITOP 커맨드를 사용하면 이 서비스를 구현할 수 있다.<ref name="레디스 활용"></ref> | *출석 이벤트 구현하기: 일일 순 방문자 수 구하기를 이용해 매일 방문자를 구현하였고, 구해놓은 String 간의 비트를 비교하는 BITOP 커맨드를 사용하면 이 서비스를 구현할 수 있다.<ref name="레디스 활용"></ref> | ||