✅ 세션(Session) 서비스에서 로그인 기능을 구현할 때 크게 2가지 방식으로 구현한다. JWT 방식과 세션(Session) 방식이 있다. 그 중에서 세션 방식은 다음과 같은 흐름으로 동작한다. 사용자가 ID / 비밀번호로 로그인 요청 서버는 인증
✅ 구현 방법 하루동안 서비스에 방문한 사용자 수를 카운팅하려면, 하루에 어떤 사용자가 방문했는 지 데이터로 저장해두어야 한다. 이 때, 한 명의 사용자가 여러 번 방문하더라도 한 번으로 카운팅해야 하기 때문에 중복없이 저장해야 한다. 또한 순서와는
✅ Bitmap 자료 구조 Redis에서 Bitmap은 아주 적은 메모리로 대량의 boolean 상태를 저장할 때 사용하는 자료구조이다. Bitmap의 가장 큰 장점은 공간 효율성이다. 일반적으로 boolean 값을 하나 저장하려면 8 bit 이상이
✅ 상황 실무에서 ‘내 위치를 기준으로 반경 1km에 위치한 카페 찾는 기능’을 구현해야 한다고 가정하자. 만약 이 기능을 RDB인 MySQL로 구현해야 한다면 SQL문이 굉장히 복잡해지고 거리 계산을 일일이 다 해야되기 때문에 성능도 좋지 않다. 그
✅ Set 이전 강의에서 Redis의 Sorted Set 자료 구조를 먼저 배웠었다. Sorted Set은 score(점수)를 기준으로 자동 정렬되는 중복없는 자료 구조라고 설명했다. Set은 정렬되지 않는 중복 없는 자료구조를 뜻한다. 이런 특성 때
✅ Hash Redis에서 Hash는 하나의 key 안에 여러 개의 field-value 쌍을 저장할 수 있는 자료구조이다. Hash는 json 객체의 구성과 유사해서, 여러 속성들을 묶어서 저장할 때 적합하다. ✅ Hash에 데이터 저장 # Hash
✅ String 자료 구조의 SETNX # key, value 구조로 데이터 저장하기 $ SET hobby soccer # key로 value 조회하기 $ GET hobby # 기존에 hobby라는 key가 존재하더라도, 해당 key에 value를
✅ 인기 검색어 기능 구현 실제 서비스를 구현하다보면 특정 기준으로 순위별 데이터를 보여줘야 하는 경우가 많다. 예를 들어, 인기 게시글이라던지, 인기 검색어라던지, 인기순으로 영화 데이터를 보여줘야 된다던지, 상품을 판매순으로 보여줘야 되는 것들이
✅ Sorted Set (ZSet) Redis에서 Sorted Set(ZSet)은 score(점수)를 기준으로 자동 정렬되는 중복 없는 자료구조이다. 이런 특성 때문에 실제 서비스에서 랭킹 시스템, 실시간 인기 데이터 관리처럼 순서와 가중치가 중요한
이번에는 검색 API와 인기 검색어 조회 API를 Redis를 활용해 구현해보자. ✅ 구현 방법 인기 검색어 조회 API에서는 인기순으로 검색어를 정렬해야 하기 때문에, 자동 정렬을 해주는 자료구조인 Sorted Set을 활용한다. 검색을 할 때마다