Redis Sorted Set 실습: 정렬된 데이터를 효율적으로 처리하기
·
DB/Redis
다음은 Redis 명령어를 통해 Sorted Set을 다루는 방법에 대한 설명입니다.1. ZADD: 값 추가zadd "game1:scores" 100 user1 200 user2 300 user3설명: ZADD 명령어는 Sorted Set에 값과 점수를 추가합니다.사용법: zadd key score member [score member ...]동작: "game1:scores"라는 ZSET에 user1, user2, user3라는 값을 각각 100, 200, 300의 점수와 함께 추가합니다.결과: (integer) 3 - 세 개의 값이 성공적으로 추가되었습니다.2. ZRANGE: 범위 내의 값 조회 (점수 기준)zrange game1:scores 0 +inf byscore limit 0 10설명: ZRAN..
Redis Hash 실습: 키-필드-값 데이터 구조 관리하기
·
DB/Redis
아래는 주어진 Redis 명령어들에 대한 설명입니다. 1. HSET: 해시(Hash)에 필드-값 추가HSET users:1:info name greg email greg@gmail.com phone 010-5897-4859설명: Redis의 HSET 명령어는 해시(Hash) 자료구조에 필드-값 쌍을 추가합니다.동작: users:1:info라는 해시에 "name", "email", "phone" 필드와 각각 "greg", "greg@gmail.com", "010-5897-4859" 값을 추가합니다.결과: 3개의 필드가 추가되었으므로, (integer) 3이 반환됩니다.2. HGET: 해시에서 특정 필드의 값 조회HGET users:1:info nameHGET users:1:info emailHGET use..
Redis Set 실습: 집합 연산과 활용법
·
DB/Redis
이 Redis 집합(Set) 자료구조를 사용하여 팔로우 관계를 관리하는 예를 보여주고 있습니다. Redis의 Set은 중복을 허용하지 않는 고유한 값들의 집합을 저장할 수 있는 자료구조입니다. 각 명령어의 의미는 다음과 같습니다:1. SADD 명령어로 Set에 값 추가SADD "users:100:follow" 150 130 120SADD 명령어는 Set에 값을 추가합니다.여기서는 "users:100:follow"라는 키를 가진 Set에 150, 130, 120 값을 추가하고, 추가된 값의 개수는 3입니다.2. SCARD 명령어로 Set의 크기 확인SCARD users:100:followSCARD는 Set의 요소 개수를 반환합니다.users:100:follow Set에는 3개의 값이 포함되어 있습니다.3...
Redis 문자열 실습: 기본 데이터 타입 다루기
·
DB/Redis
~ docker exec -it 06f8c72dd4cc redis-cli127.0.0.1:6379> RPUSH stack1 100(integer) 1127.0.0.1:6379> RPUSH stack1 100(integer) 2127.0.0.1:6379> RPUSH stack1 100(integer) 3127.0.0.1:6379> RPUSH stack1 200(integer) 4127.0.0.1:6379> RPOP stack1"200"127.0.0.1:6379> RPOP stack1"100"127.0.0.1:6379> RPOP stack1"100"127.0.0.1:6379> RPOP stack1"100"127.0.0.1:6379> RPOP stack1(nil)127.0.0.1:6379> RPUSH queu..
Redis 데이터타입 정리: 문자열부터 복합 데이터까지
·
DB/Redis
개요Redis는 Key/Value 구조로 데이터를 저장하는 인메모리 데이터베이스입니다.Key는 텍스트 혹은 바이너리 형태로 저장되며, Redis는 매우 빠른 검색 성능을 자랑합니다.예: "name", "123", "@specialKey!"Value는 문자열부터 리스트, 셋, 해시맵 등 다양한 타입을 가질 수 있으며, 일반적으로 512MB 크기 제한이 있습니다.주요 명령어TTL (Time To Live)TTL은 데이터의 생존 시간을 의미하며, 특정 키에 대한 데이터가 설정된 시간이 지나면 자동으로 삭제되도록 할 수 있습니다.EXPIRE key seconds: 지정한 시간(초)이 지나면 키가 자동으로 삭제됩니다.TTL key: 해당 키의 남은 TTL 값을 초 단위로 반환합니다. 만약 TTL이 설정되지 않은 ..
Redis CLI 사용법: 명령어로 시작하기
·
DB/Redis
설치, 실행 그리고 접속Redis를 Docker를 이용하여 설치, 실행, 그리고 접속하는 방법은 매우 간단합니다. 아래 단계에 따라 진행하면 됩니다.1. Docker 설치 확인먼저, Docker가 설치되어 있는지 확인합니다. 아래 명령어를 터미널에 입력하여 Docker가 설치되어 있는지 확인하세요:docker --version만약 설치되어 있지 않다면 Docker 공식 사이트에서 설치하세요.2. Redis Docker 이미지 다운로드Redis 이미지를 Docker Hub에서 다운로드합니다. 최신 버전의 Redis 이미지를 다운로드하려면 아래 명령어를 실행합니다:docker pull redis이 명령어는 Redis 이미지를 Docker에서 가져와서 로컬에 저장합니다.3. Redis 컨테이너 실행Redis ..
Redis 입문: 기본 개념 톺아보기
·
DB/Redis
특징과 활용 사례1. Redis의 Persistent On Disk (디스크 영속성)Redis는 기본적으로 인메모리 데이터베이스로 설계되어 모든 데이터를 메모리(RAM)에 저장합니다. 그러나 Redis는 데이터 영속성(Persistence) 기능을 제공하여 서버가 예기치 않게 종료되거나 재시작될 경우에도 데이터를 복구할 수 있습니다. Redis의 영속성 기능은 RDB(Snapshot)와 AOF(Append Only File) 두 가지 방식으로 구현됩니다.1.1 RDB (Redis Database Snapshot)RDB는 Redis가 주기적으로 메모리의 스냅샷을 찍어 디스크에 저장하는 방식입니다. 이 방식은 Redis 서버가 재시작될 때 데이터를 빠르게 복원할 수 있도록 돕습니다.장점: 주기적으로 스냅샷을..
접속자 대기열 시스템 #1: 시스템 설계와 Spring WebFlux, Redis
·
프레임워크/자바 스프링
1. 접속자 대기열 시스템 (Spring WebFlux + Redis)1.1 프로젝트 설명접속자 대기열 시스템입니다.이벤트 티켓 예매와 같은 이커머스에서 주로 사용됩니다. 특정 시간대에 이벤트가 발생하게 되면 사용자가 많이 몰리게 되면 트래픽이 급겹하게 몰리게 됩니다.짧은 시간안에 이런 트래픽을 처리 하기 위해서는 특정 기술이 필요합니다. 단순한 Spring MVC가 아닌 Spring Webflux와 Redis를 활용합니다. Spring WebFlux와 Redis가 어떻게 대기열을 관리하는지 보여줍니다.1단계: 대기 페이지 요청/응답사용자가 웹 애플리케이션 서버에 접속을 시도하면, 서버는 사용자에게 대기 페이지를 응답합니다. 이 대기 페이지에서 사용자는 대기열에 등록됩니다.2단계: 대기열 등록사용자가 대..