inflearn logo
강의

Course

Instructor

2026! A Practical Guide to Redis for Backend Developers: From Basics to Real-World Patterns

List Type: Ordering Data and Message Queues

최근 N개 데이터 표현 시 중복 질문

72

hoo51520001498

1 asked

0

LPUSH + LTRIM을 통해 최근 N개 데이터 표현을 한다 하셨는데.
[101, 102, 103, 104, 105] 가 있을 때

LPUSH 103 후 LTRIM 0 4 를 한다 가정하면

[103, 101, 102, 103, 104] 이 되는거 같은데 이 경우 N개가 아니라 중복이 생겨서 실무에선 push전 값이 들어올때 마다 LREM으로 해당 값을 지우고 push를 하는건지 아니면 다른 방식이 있는지 궁금합니다.

redis

Answer 1

1

codingpe

네, 맞습니다. 😊
Redis의 List는 중복을 허용하기 때문에 말씀하신 것처럼

[101, 102, 103, 104, 105]

에서 다시 103을 LPUSH하고 LTRIM 0 4를 하면

[103, 101, 102, 103, 104]

처럼 중복이 생길 수 있습니다.


그래서 최근 본 상품처럼 동일 항목을 하나만 유지해야 한다면 List를 사용할 경우 보통

LREM → LPUSH → LTRIM

순서로 처리합니다.

강의 중, 패턴 02: 최근 본 상품 리스트 구현 (Lists) 에서도 해당 내용을 안내하고 있습니다.

그리고 또 다른 방법으로는 Sorted Set(ZSET) 을 사용할 수도 있습니다.

상품 ID를 member로, 조회 시간을 score로 저장하는 거죠. 이렇게 하면 중복 없이 최근 N개 데이터를 표현할 수 있습니다.


Fanout on Read 의 학습 코드에서 질문 있어요

0

8

0

트러블슈팅 케이스 스터디 - P 대형 커머스

0

15

2

강의 내용 질문 `[실습] MDC·UTM·세션ID로 "돈 버는 로거" 만들기`

0

16

1

강의 소스코드는 어디서 다운받을 수 있나요?

1

55

2

팔로워수,팔로잉수 조회 설계

1

41

1

TTL 산정 기준

0

54

1

Redis 비동기 I/O 멀티플렉싱이 아니라 논블로킹 I/O 멀티플렉싱이 아닌가요?

0

59

2

pub/sub의 연결 객체에 대해 질문 드립니다.

0

89

2

인기 게시판 목록(Sorted set)

0

114

2

레디스로 재고 관리

0

133

2

Lock 해제 문의 드립니다.

0

123

2

레디스로 대기큐 구현 질문

0

164

2

API LIMIT

0

102

1

캐시 무효화

0

103

2

Redis와 Kafca의 Pub/Sub 차이

0

158

2

너무 흥미진진합니다..

1

117

2

순위가 동률일 때의 처리에 대해 질문드립니다.

0

172

2

Redlock 알고리즘 관해 궁금한게 있습니다!

0

152

2

좋아요/조회수 카운팅 병목현상에 대해서 궁금한점이 있습니다.

0

135

2

백엔드 서버 코드 변경에서 프론트엔드 서버가 값을 파싱하지 못하는 문제

0

184

1

강사님 GETDEL 관련해서 질문 있습니다

0

190

2

비밀번호를 걸고 실행된 레디스 서버에 lua 스크립트를 등록하는 경우

0

202

2

보안 설정을 한 수강생들은 Connection Settings에 비밀번호를 넣어야 추가되네요

0

129

2

Redis Container 해킹

0

174

1