redis 3

[Spring Boot] 실시간검색어 구현하기

1. 요구사항 정리- 실시간 집계사용자가 검색 즉시 “인기 검색어” 점수에 반영- 조작 방지동일 IP(또는 로그인 유저)가 같은 키워드를 반복 검색해 점수를 부당하게 올리는 행위 차단 - 시간 가중치 적용최근 검색일수록 더 큰 가중치를 부여 - 시간대 보정새벽 시간대에는 보정값을 높여 점수를 낮게, 오후 시간대엔 보정값을 낮춰 점수를 높게 - 전체 검색량 보정평소 검색량(과거 일주일 등)이 많은 키워드는 보정값으로 점수를 낮춤 - 지속성 확보Redis 인메모리 휘발성 대비 RDBMS 백업위 내용으로 요구사항을 정리한 뒤 구현에 들어갔다. 2. 구현2-1. 새로운 로직 추가 (Trending)package com.example.footprint.trending.controller;import com.exa..

[SpringBoot + Redis] Refresh Token은 왜 Redis를 사용할까?

Redis 오픈 소스 기반의 인 메모리 데이터 저장소. 키-값 형태의 DB로 주로 메모리 내에서 데이터를 저장하고 액세스 하는 데 사용된다. Redis의 주요 특징 1. 주로 메모리에 데이터를 저장하고 조회하기 때문에 빠른 응답시간을 기대할 수 있다. 2. 데이터 만료일을 지정할 수 있다. Redis의 특징이 Refresh Token에 적합한 이유 1. RDB와 다르게 Redis는 만료될 날짜를 정해서 토큰을 자동으로 삭제할 수 있다. 토큰의 만료일과 Redis에서 토큰이 삭제되는 날을 일치시키면 데이터를 더 효율적으로 관리할 수 있다. 2. Refresh Token을 사용하는 이유는 JWT Access Token을 새롭게 갱신하기 위해 사용한다. Access 토큰은 Refresh 토큰에 비해 유효기간이..

[Redis] Redis 설치 방법

Redis NoSQL DB의 한 종류이며 우리가 흔히 사용하는 MYSQL, Orcal DB, PostgreSQL 등 RDBMS와 다르게 NoSQL DB이다. 그렇다면 무슨 차이이고 어느 상황에 사용해야 할까? RDBMS와 NoSQL의 차이 RDBMS (관계형 DB) - 데이터 : 정해진 구조를 갖는 테이블로 데이터를 저장하고 각 테이블은 관계를 가질 수 있다. - 확장 : 주로 수직정 확장을 사용하며, DB 서버 자체를 업그레이드 하거나 강력한 하드웨어로 대체 - 스키마 : 고정된 스키마를 사용, 데이터의 구조를 사전에 정의해야 한다. - 데이터 복잡성 : 복잡한 관계를 가질 수 있고, JOIN 연산을 사용하여 데이터를 결합한다. - 활용 : 정형화된 데이터와 각 데이터 간의 관계가 중요한 업무에서 주로..

프로필사진

남건욱's 공부기록

반응형