[Redis] 상황별 조회수 Console 실습 정리

RyECODING·2024년 8월 18일

MSA

목록 보기
6/15

✅ 내 블로그 글 별 조회수를 Redis로 확인하고 싶다.

    1. 블로그 URL의 PATH는 '/article/{id}' 형태로 되어 있다.
    1. 로그인 여부와 상관없이 새로고침 될 때마다 조회수가 하나씩 증가된다.
    1. 이를 관리하기 위해 적당한 데이터 타입을 선정하고,
    1. 사용자가 임의의 페이지에 접속할 때 실행될 명령을 작성해보자.

✔️ String - INCR(++), DECR(--)

  • INCR articles:{id}
INCR articles:1
INCR articles:2
INCR articles:3
  • 오늘의 조회수만 따로 관리하고 싶다면
INCR articles:1:today
// articles:1:today
RENAME articles:1:today articles:20XX-XX-XX
// articles:1:today -> articles:20XX-XX-XX

✅ 블로그에 로그인한 사람들의 조회수와 가장 많은 조회수를 기록한 글을 Redis로 확인하고 싶다.

    1. 블로그의 URL의 PATH는 '/articles/{id}' 형식이다.
    1. 로그인한 사람들의 계정은 영문으로만 이루어져 있다.
    1. 이를 관리하기 위해 적당한 데이터 타입을 선정하고,
    1. 사용자가 임의의 페이지에 접속할 때 실행될 명령을 작성해보자.
    1. 만약 상황에 따라 다른 명령이 실행되어야 한다면, 주석으로 추가해보자.

✔️ Set

SADD articles:1 alex
- 1
SADD articles:1 brad
- 1
SADD articles:1 chad
- 1
SCARD articles:1
- 3
SADD articles:2 chad
- 1
SCARD articles:2
- 1
SADD articles:1 alex
- 0 // alex는 이미 존재하기 때문에 추가되는 것이 없어 '0'을 반환
SADD articles:1 alex brad chad dave
- 1 // alex brad chad는 이미 존재, dave만 추가됐기 때문에 '1'을 반환

SADD의 결과에 따라 명령어를 실행하거나 말거나

  • 0 : 스킵
  • 1일 경우? Sorted Set에 넣어주자
ZADD articles:ranks 1 articles:1
ZINCRBY articles:ranks 1 articles:1
-- 2
ZINCRBY articles:ranks 1 articles:2
-- 1
ZRANGE articles:ranks 0 -1
- aritcles:2
  articles:1

✅ 조회수가 가장 높은 것 조회하기

ZREVRANGE , ZRANGE,,,REV

ZREVRANGE articles:ranks 0 0
- articles:1
ZRANGE articles:ranks 0 0 REV
- articles:1
profile
례코드

0개의 댓글