minOS

Redis 실습 문제 본문

TIL/Redis

Redis 실습 문제

minOE 2025. 3. 7. 02:16
728x90
-- 내 블로그 글 별 조회수를 Redis로 확인하고 싶다.
-- 1. 블로그 URL의 PATH는 `/articles/{id}` 형식이다.
-- 2. 로그인 여부와 상관없이 새로고침 될때마다 조회수가 하나 증가한다.
-- 3. 이를 관리하기 위해 적당한 데이터 타입을 선정하고,
-- 4. 사용자가 임의의 페이지에 접속할 때 실행될 명령을 작성해보자.

-- String - INCR(++) , DECR(--)
-- INCR articles:{id}
INCR articles:1
INCR articles:2
INCR articles:3


-- 오늘의 조회수를 따로 관리하고 싶다면 ?
INCR articles:1:today
RENAME articles:1:today articles:20xx-xx-xx


-- 블로그에 로그인한 사람들의 조회수와 가장 많은 조회수를 기록한 글을 Redis로 확인하고 싶다.
-- 1. 블로그 URL의 PATH는 `/articles/{id}` 형식이다.
-- 2. 로그인 한 사람들의 계정은 영문으로만 이뤄져 있다.
-- 3. 이를 관리하기 위해 적당한 데이터 타입을 선정하고,
-- 4. 사용자가 임의의 페이지에 접속할 때 실행될 명령을 작성해보자.
-- 5. 만약 상황에 따라 다른 명령이 실행되어야 한다면, 주석으로 추가해보자.
FLUSHDB
--Set
SADD articles:1 alex
SADD articles:1 brad
SADD articles:1 chad
SADD articles:1 jerry

SCARD articles:1


SADD articles:2 alex
SAdd articles:2 chad
SCARD articles:2

--SADD의 결과에 따라 명령어를 실행하거나 말거나
--0은 스킵
--1일경우 ? Sorted set에 넣어주자
ZINCRBY articles:rank 1 articles:1
ZINCRBY articles:rank 1 articles:2

ZRANGE articles:rank 0 -1

-- 가장 높은 조회수 글을 보고 싶다면 ?
ZREVRANGE articles:rank 0 0
ZRANGE articles:rank 0 0 REV
728x90

'TIL > Redis' 카테고리의 다른 글

레디스 타입 살펴보기  (1) 2025.03.06