Computer >> 컴퓨터 >  >> 프로그래밍 >> Redis

Redis

  1. Redis에서 대용량 리스트 안전하게 삭제하는 방법

    Redis에서 큰 객체 삭제가 느린 이유를 더 자세히 알고 싶다면 이 개요 문서를 먼저 참고해 보세요. Redis는 기본적으로 단일 스레드로 동작하기 때문에, DEL 명령으로 수백만 개의 요소를 가진 리스트를 한 번에 삭제하면 그동안 다른 모든 요청이 블로킹될 수 있습니다. 따라서 대용량 리스트를 삭제할 때는 아래와 같은 단계별 접근이 권장됩니다. 삭제 전략 키 이름 변경(Rename): 대상 키를 고유한 네임스페이스를 가진 새 키로 변경합니다. 이렇게 하면 다른 Redis 클라이언트 입장에서는 해당 리스트가 즉

  2. Redis에서 대용량 객체 삭제 시 서버 블로킹 방지 방법

    Redis에서 해시(hash), 리스트(list), 셋(set), 정렬된 셋(sorted set)과 같은 문자열이 아닌 대용량 객체를 삭제할 때는 서버가 상당한 시간 동안 멈출 수 있으며, 이로 인해 클라이언트 타임아웃 같은 문제가 발생할 수 있습니다. 그 원인은 Redis의 작동 방식에 있는 두 가지 핵심 특성 때문입니다. 대용량 객체 삭제가 서버를 블로킹하는 이유 Redis는 단일 스레드(single-threaded) 방식으로 작동합니다. 연결된 클라이언트 수와 관계없이 한 번에 하나의 명령만 처리할 수 있습니다. 따라

  3. Redis에서 대규모 세트(Set) 안전하게 삭제하는 방법

    Redis에서 대규모 객체 삭제가 느린 이유에 대해 자세히 알아보려면 관련 개요 문서를 참고하세요. Redis에서 대규모 세트(Set)를 삭제할 때는 DEL 명령어를 직접 실행하면 안 됩니다. 키에 수백만 개의 멤버가 저장되어 있다면, Redis는 단일 스레드로 동작하기 때문에 삭제가 완료될 때까지 다른 모든 명령이 차단(blocking)되어 서비스 전반에 심각한 지연이 발생할 수 있습니다. 이를 방지하려면 다음 두 단계로 나누어 삭제를 진행해야 합니다: 키 이름 변경(Rename): 먼저 해당 키를 고유한 네임스페이스가

  4. Redis에서 대용량 정렬 집합(Sorted Set) 안전하게 삭제하는 방법

    Redis에서 대용량 객체 삭제가 느린 이유가 궁금하다면, 먼저 관련 개요 문서를 참고해 보세요. Redis는 단일 스레드로 동작하기 때문에 수백만 개의 멤버를 가진 큰 정렬 집합(Sorted Set)을 DEL 명령으로 한 번에 삭제하면 서버 전체가 블로킹되어 다른 모든 클라이언트의 요청 처리가 멈출 수 있습니다. 이를 방지하려면 아래와 같은 점진적 삭제 전략을 사용해야 합니다. 삭제 절차 키 이름 변경(Rename): 먼저 해당 키를 고유한 네임스페이스를 가진 새 키로 변경합니다. 이렇게 하면 다른 Redis 클라이언트 입장에서

  5. Redis Pub/Sub 입문 가이드: 발행/구독 패턴의 핵심 이해하기

    Publish/Subscribe(pub/sub, 발행/구독)는 수십 년간 사용되어 온 소프트웨어 엔지니어링 패턴이지만, 실제로 활용하려면 별도의 메시징 서버와 전문 지식이 필요한 경우가 많았습니다.Redis pub/sub은 발행/구독 패턴을 간결하고 가볍게 구현한 기능으로, Redis 2.0 릴리스 이후 모든 Redis 서버에 기본 포함되어 있습니다. 덕분에 Redis가 배포된 곳이라면 어디서든 손쉽게 사용할 수 있으며, Redis 하나만으로도 빠르고 단순한 pub/sub 시스템을 신속하게 구축할 수 있습니다.Redis pub/su

  6. Redis Pub/Sub 완벽 가이드: 채널, 발행, 구독, 패턴 매칭

    앞선 개요 글에서 Redis pub/sub의 목적과 Redis만의 설계 방식을 살펴보았습니다. 이번 글에서는 noderedis(Node.js 클라이언트)를 활용해 Redis pub/sub의 핵심 개념인 채널, 메시지 발행, 구독, 패턴 매칭을 하나씩 실습하며 실제 사용 방법을 알아보겠습니다. 채널(Channel) 이해하기 채널(channel)은 pub/sub 시스템에서 발행되는 메시지를 분류하기 위한 이름입니다. 채널 이름은 system-health:i-36a44b83, trade-prices:RAX, temp-reading:l

  7. Redis Streams를 활용한 시계열 데이터 처리 완벽 가이드

    레디스(Redis)는 흔히 소수의 간단한 데이터 구조 프리미티브에 네트워크 인터페이스를 제공하는 데이터 구조 서버로 인식되어 왔습니다. 그런데 스트림(Streams)은 레디스가 오래전 정렬 집합(Sorted Set)을 도입한 이후 처음으로 등장한 주요 범용 데이터 구조입니다. 이번 글에서는 이 새로운 구조의 핵심 활용 분야 중 하나인 시계열(time series) 데이터 모델링 방법을 알아보겠습니다. 스트림(Streams): 레디스의 새로운 데이터 구조 Redis 스트림은 키-값 쌍으로 구성된 추가 전용(append-only)

  8. Redis ZRANGEBYSCORE 명령어 완벽 가이드 – 점수 범위로 정렬된 집합의 요소 조회하기

    이 튜토리얼에서는 Redis에서 특정 점수 범위에 속하는 정렬된 집합(Sorted Set)의 모든 요소를 점수 기준 오름차순으로 조회하는 방법을 알아봅니다. 이를 위해 ZRANGEBYSCORE 명령어를 사용합니다. ZRANGEBYSCORE 명령어란? ZRANGEBYSCORE 명령어는 인자로 전달된 min(최솟값) 이상이면서 max(최댓값) 이하인 점수를 가진 정렬된 집합의 모든 요소를 반환합니다. 반환되는 요소들은 점수를 기준으로 오름차순으로 정렬되며, 점수가 동일한 요소들 사이에는 사전순(lexicographical order)으

  9. Redis ZREVRANGEBYSCORE 명령어 완벽 가이드 – 점수 범위로 정렬된 집합 요소를 내림차순으로 조회하는 방법

    이 튜토리얼에서는 Redis의 ZREVRANGEBYSCORE 명령어를 사용하여, 정렬된 집합(sorted set)에서 특정 점수 범위에 속한 모든 요소를 점수 기준 내림차순으로 조회하는 방법을 알아보겠습니다. ZREVRANGEBYSCORE 명령어란? ZREVRANGEBYSCORE는 인자로 전달된 max(최대값) 이하이면서 min(최소값) 이상인 점수를 가진 모든 요소를 반환합니다. 이때 요소들은 점수 기준으로 내림차순 정렬되며, 점수가 동일한 요소들끼리는 사전 순(lexicographical order) 역순으로 배치됩니다. 기본적

  10. Redis Jedis 완벽 가이드 – Jedis 라이브러리로 리스트(List) 값에 CRUD 작업 수행하기

    이 튜토리얼에서는 Java 클라이언트 라이브러리인 Jedis를 사용하여 Redis의 리스트(List) 값에 대해 생성(Create), 조회(Read), 수정(Update), 삭제(Delete) 작업을 수행하는 방법을 단계별로 알아봅니다. Jedis 라이브러리란? Jedis는 Redis 데이터스토어를 위한 Java 클라이언트 라이브러리입니다. 크기가 작고 사용법이 매우 간단하며, Redis 2.8.x, 3.x.x 및 그 이상 버전과 완전히 호환됩니다. 별도의 복잡한 설정 없이도 Java 애플리케이션에서 Redis의 다양한 자료구조를

  11. Redis Jedis – Jedis 라이브러리로 셋(Set) 값 CRUD 작업하는 방법

    이 튜토리얼에서는 Jedis 라이브러리를 사용해 Redis의 셋(Set) 타입 값에 대해 생성(Create), 조회(Read), 수정(Update), 삭제(Delete) 작업을 수행하는 방법을 단계별로 살펴봅니다. Jedis 라이브러리란? Jedis는 Redis 데이터베이스를 위한 Java 클라이언트 라이브러리입니다. 가볍고 사용법이 매우 간단하며, Redis 2.8.x, 3.x.x 이상 버전 데이터 저장소와 완전히 호환됩니다. 셋(Set) 값이란? 셋은 중복을 허용하지 않는 고유한 요소들의 순서 없는 컬렉션입니다. Redis에서는

  12. Redis Jedis 튜토리얼 - Jedis 라이브러리로 해시(Hash) 값 CRUD 작업 수행하기

    이 튜토리얼에서는 Jedis 라이브러리를 사용하여 Redis의 해시(Hash) 값에 대해 CRUD(Create, Read, Update, Delete) 작업을 수행하는 방법을 알아봅니다. Jedis 라이브러란? Jedis는 Redis 데이터 저장소를 위한 Java 클라이언트 라이브러리입니다. 가볍고 사용법이 매우 간단하며, Redis 2.8.x, 3.x.x 및 그 이상 버전과 완벽하게 호환됩니다. 해시(Hash) 값이란? 해시는 필드-값(field-value) 쌍으로 구성된 맵(Map) 구조로, 자바 객체처럼 객체 타입 데이터를 표

  13. Redis Jedis – Jedis 라이브러리로 지리 공간(Geo) 값에 대한 CRUD 작업 수행하기

    이 튜토리얼에서는 Jedis 라이브러리를 사용하여 지리 공간(Geo) 값에 대해 CRUD 작업을 수행하는 방법을 알아봅니다. Jedis 라이브러리란? Jedis는 Redis 데이터 저장소를 위한 Java 클라이언트 라이브러리입니다. 가볍고 사용하기 매우 쉬우며, Redis 2.8.x, 3.x.x 이상 버전과 완벽하게 호환됩니다. Jedis 라이브러리에 대한 자세한 정보는 GitHub 공식 저장소에서 확인할 수 있습니다. 지리 공간 값(Geo Value)이란? 지리 공간 값은 지구상 특정 위치의 경도(longitude)와 위도(lat

  14. Redis Jedis 튜토리얼: Jedis 라이브러리로 키(Key) CRUD 작업 수행하기

    이 튜토리얼에서는 Jedis 라이브러리를 사용하여 Redis 키(Key)에 대한 CRUD(생성·조회·수정·삭제) 작업을 수행하는 방법을 단계별로 알아봅니다. Jedis 라이브러리란? Jedis는 Redis 데이터 저장소를 위한 Java 클라이언트 라이브러리입니다. 가볍고 사용법이 매우 간단하며, Redis 2.8.x, 3.x.x 및 그 이상 버전과 완벽하게 호환됩니다. Redis에서 키(Key)란? Redis에서 키는 데이터 저장소에 값을 저장하고 관리하며 조회하기 위한 고유 식별자 역할을 합니다. 모든 값은 반드시 하나의 키와

  15. Redis Jedis Pub/Sub – Jedis 라이브러리로 Redis 발행/구독 시스템 구현하는 방법

    이 튜토리얼에서는 Jedis 라이브러리를 활용해 Redis Pub/Sub(발행/구독) 시스템을 구현하는 방법을 단계별로 알아봅니다. Jedis 라이브러리란? Jedis는 Redis 데이터 저장소를 위한 Java 클라이언트 라이브러리입니다. 가볍고 사용법이 매우 간단하며, Redis 2.8.x, 3.x.x 이상 버전과 완벽하게 호환됩니다. 최신 버전은 Maven Central Repository에서 확인할 수 있습니다. Redis Pub/Sub 시스템의 동작 원리 Redis는 발행/구독(Publish/Subscribe) 메시징 패러다

  16. Redis에서 키에 문자열 값 설정하기 – SET, SETNX, SETEX, PSETEX 명령어 총정리

    이 튜토리얼에서는 Redis 데이터 저장소에서 지정된 키에 문자열 값을 설정하는 방법을 SET, SETNX, SETEX, PSETEX 명령어를 통해 자세히 알아보겠습니다. 1. SET 명령어 SET 명령어는 지정된 키에 문자열 값을 설정할 때 사용합니다. 만약 해당 키가 이미 존재한다면, 키의 타입과 관계없이 기존 값은 새로운 값으로 덮어써지며(overwrite), 이전에 설정되어 있던 만료 시간(expiration)도 함께 제거됩니다. 선택적 인자(Optional Arguments) Redis의 SET 명령어는 다음과 같은 선택적

  17. Redis 문자열(String) 완벽 가이드 – 데이터 저장소의 문자열 값 관리 명령어 총정리

    문자열(String)은 문자들이 연속된 형태를 의미합니다. Redis에서는 문자열을 키(key)에 값(value)으로 저장할 수 있으며, Redis 데이터베이스에 저장된 문자열 값을 저장, 관리, 조회하기 위해 다양한 명령어를 사용합니다. 명령어 기본 문법 Redis 명령어는 다음과 같은 형식으로 사용합니다. redis host:port> <명령어> <키 이름> 사용 예시 아래는 Redis CLI 환경에서 SET과 GET 명령어를 사용해 문자열 값을 저장하고 조회하는 기본적인 예시입니다. redis 127

  18. Redis GEODIST 명령어 – 지리 공간 데이터의 두 멤버 간 거리 구하는 방법

    이 튜토리얼에서는 Redis에 저장된 지리 공간 값(geospatial value)에서 두 멤버 사이의 거리를 구하는 방법을 알아봅니다. 이 작업에는 GEODIST 명령어를 사용합니다. GEODIST 명령어란? GEODIST 명령어는 키에 저장된 지리 공간 값(정렬 집합, Sorted Set)에서 지정한 두 멤버 사이의 거리를 지정한 단위로 반환합니다. 만약 지정한 멤버 중 하나 또는 둘 다 지리 공간 값에 존재하지 않으면 null이 반환됩니다. 지원되는 거리 단위 m – 미터(meter), 기본값 km – 킬로미터(kilomet

  19. Redis GEOPOS 명령어 – 지리 공간 값에서 멤버의 경도·위도 조회하기

    이 튜토리얼에서는 Redis에 저장된 지리 공간 값(geospatial value)에서 하나 이상의 멤버에 대한 경도와 위도를 조회하는 방법을 알아봅니다. 이를 위해 Redis의 GEOPOS 명령어를 사용합니다. GEOPOS 명령어란? GEOPOS 명령어는 키(key)에 저장된 지리 공간 값(정렬된 집합, Sorted Set)에서 지정한 하나 이상의 멤버에 대한 경도와 위도를 반환하는 데 사용됩니다. GEOADD 명령어로 좌표(경도, 위도)를 지리 공간 값에 삽입하면 해당 좌표는 내부적으로 52비트 geohash로 변환됩니다. 따라

  20. Redis SMOVE 명령어 – 한 세트(Set)에서 다른 세트로 요소 이동하는 방법

    이 튜토리얼에서는 Redis 데이터 저장소에 저장된 하나의 세트(Set) 값에 있는 요소를 다른 세트 값으로 이동하는 방법을 배워보겠습니다. 이를 위해 redis-cli에서 SMOVE 명령어를 사용합니다. SMOVE 명령어는 source(원본) 키에 저장된 세트 값에서 지정된 요소를 제거하고, 동일한 요소를 destination(대상) 키에 저장된 세트 값에 추가합니다. 이 연산은 원자적(atomic)으로 수행되기 때문에, 어떤 순간에도 지정된 요소는 반드시 원본 세트 또는 대상 세트 중 하나에만 속해 있게 됩니다. SMOVE 명령

Total 382 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:7/20  20-컴퓨터/Page Goto:1 2 3 4 5 6 7 8 9 10 11 12 13