인프라/REDIS 7

Redis Stored set 정의

Redis의 자료형 주 stored set을 사용하여 대기열 시스템을 만들어 보려고 한다.그전에 정의에 대해 알아보고 어떻게 사용해야하는지 학습해보고 진행하려고 한다. Redis의 Sorted Set (정렬된 집합) 자료 구조에서 rank는 각 요소의 순위를 의미합니다. Redis의 Sorted Set은 각 요소에 점수(score)를 할당하여 자동으로 정렬되며, 이 점수를 기준으로 순위(rank)가 매겨집니다. 순위는 점수의 오름차순 또는 내림차순으로 정렬되기 때문에, 특정 요소의 rank를 알고 싶을 때 그 요소가 정렬된 순서에서 어느 위치에 있는지 확인할 수 있습니다.Sorted Set과 Rank 개념Sorted Set: Sorted Set은 각 요소가 유일한 값과 그에 대응하는 점수를 가집니다. 점..

인프라/REDIS 2024.11.25

Redis Session store

Jedis는 Java에서 Redis를 사용하는 클라이언트 라이브러리입니다. Jedis를 사용하여 세션을 Redis에 저장하면, 분산 환경에서도 세션 데이터를 효율적으로 관리할 수 있습니다. Redis의 빠른 성능을 활용하여 세션 데이터의 읽기/쓰기 성능을 극대화할 수 있습니다.이제 Jedis와 Spring 또는 서블릿 컨테이너와 함께 Redis를 세션 저장소로 사용하는 방법을 예시로 설명하겠습니다.1. Jedis 라이브러리 설치Jedis를 사용하려면 먼저 Maven 프로젝트에 Jedis 의존성을 추가해야 합니다. pom.xml에 다음과 같이 의존성을 추가하세요:xmldependency>    groupId>redis.clientsgroupId>    artifactId>jedisartifactId>   ..

인프라/REDIS 2024.11.23

Redis Cli 명령어

Redis는 매우 다양한 명령어들을 제공하며, 각 명령어는 Redis의 다양한 데이터 구조를 다루거나, 서버 상태를 관리하는데 사용됩니다. 여기서는 Redis의 주요 명령어를 데이터 구조별로 분류하여 소개합니다. 1. String 관련 명령어SET: 값을 설정SET key valueGET: 값 조회GET keyMGET: 값 여러개 조회MGET key1,key2,key3.UNLINK: 키 삭제(비동기)UNLINK keyDEL: 키 삭제(동기)DEL keyINCR: 값 증가 (정수 타입에만)INCR keyINCRBY: 값 10 증가 (정수 타입에만)INCRBY key 10DECR: 값 감소 (정수 타입에만)DECR keyAPPEND: 값을 덧붙이기APPEND key value2. List 관련 명령어LPUS..

인프라/REDIS 2024.11.21

Redis는 Single thread 라는데?

Redis는 기본적으로 하나의 스레드만 사용하여 모든 클라이언트 요청을 처리합니다. 이 특징은 Redis의 성능과 확장성에 중요한 영향을 미칩니다.Redis의 싱글 스레드 아키텍처의 특징:단일 스레드로 동작:Redis는 하나의 스레드에서 모든 작업을 처리합니다. 클라이언트로부터 요청을 받으면, Redis는 순차적으로 처리하고 응답을 보냅니다.다수의 클라이언트 요청이 동시에 들어오더라도, Redis는 요청을 하나씩 차례대로 처리합니다.단순화된 디자인:싱글 스레드로 설계되었기 때문에, Redis는 락(lock)을 사용하지 않습니다. 여러 스레드가 동시에 데이터를 수정할 때 발생할 수 있는 복잡한 동기화 문제를 피할 수 있습니다.또한, 여러 클라이언트 요청을 처리하는 데 있어 스레드 간의 컨텍스트 전환(con..

인프라/REDIS 2024.11.20

Redis의 영속성에 대해 더 알아보자

Redis의 개념과 정의는 알아보았는데, 데이터 관점에서 백업과 복구가 중요할 수 있어서 좀 더 세분화 적으로 확인해보았습니다. 이번글에서는 인메모리 데이터베이스 구조의 캐시 기능으로 빠르게 데이터를 읽을 수 있다는 알겠지만영속성 즉, 영속성이란? 데이터를 생성한 프로그램이 종료되어도 사라지지 않는 데이터의 특성에 대한 옵션에 대해 알아 보겠습니다. 영속성 기능을 사용하면 Redis 서버가 재시작되거나 시스템 장애가 발생해도 데이터를 복구할 수 있습니다. Redis는 여러 가지 영속성 옵션을 제공하여 사용자가 요구하는 수준의 영속성을 선택할 수 있도록 합니다.Redis 영속성의 주요 방식Redis는 **RDB (Redis Database Snapshotting)**와 AOF (Append-Only Fil..

인프라/REDIS 2024.11.20

Redis가 뭐지?

Redis는 인메모리 데이터 구조 저장소(In-memory Data Structure Store)로, 주로 데이터베이스, 캐시(Cache), 그리고 메시지 브로커로 사용된다. Redis는 데이터를 메모리에 저장하여 빠르게 접근할 수 있도록 하여, 디스크 기반의 데이터베이스보다 더 빠른 읽기/쓰기 성능을 제공한다.Redis의 특징과 사용되는 주요 용도를 아래와 같다.1. 인메모리 데이터베이스Redis는 모든 데이터를 메모리에 저장합니다. 따라서 디스크 I/O 없이 메모리에서 직접 데이터를 읽고 쓰므로 매우 빠르다데이터가 메모리에 저장되기 때문에, 빠른 속도가 필요한 애플리케이션에서 자주 사용된다.2. 데이터 구조Redis는 단순한 키-값(Key-Value) 저장소 이상의 기능을 제공합니다. 다양한 데이터 ..

인프라/REDIS 2024.11.20

redis 명령어

- keys * - 전체 조회 - set hello world - key, value 저장- mset number_one 1111 number_two 2222 - 여러개를 저장- keys *   number_one  number_two  hello   3개 조회- keys *number* - like 검색 number가 포함된 key 검색- setex bye 30 bye - key의 유효기간 30초 설정- ttl aaa - -2가 반환되면 유효기간 만료- ttl hello - -1이면 유효기간이 없는 키값- get hello - hello 키의 값을 가져옴 - rename hello hhh - key의 이름을 변경( 안에 내용물은 동일)- del hhh - 삭제 - flushall - 모든 명령어 삭제

인프라/REDIS 2023.11.19