백엔드/redis

[Redis] Redis - Redis 문자열

Koras02 2023. 1. 31. 22:10

이번 시간에는 Redis 문자열에 대해

알아보도록 하겠습니다.

 

Redis 문자열

Redis 문자열은 텍스트, 직렬화된 객체 및 

이진 배열을 포함한 일련의 byte를 저장합니다.

 

따라서 문자열은 가장 기본적인 Redis

데이터 유형입니다. 

 

문자열은 캐싱에 자주 사용되지만 

카운터를 구현하고 비트 연산도 수행할 수 

있는 추가기능을 지원합니다.

 

Redis 문자열 사용법

 

Redis에서 문자열을 사용하기 위해서는 

다음과 같이 입력해줍니다.

> SET user:1 salvatore
OK
> GET user:1
"salvatore"

직렬화된 JSON 문자열을 저장하고 

지금부터 100초후에 만료되도록 설정합니다.

SET ticket:27 "\"{'username': 'priya', 'ticket_id': 321}\"" EX 100

카운터를 증분하기 위해서는 

다음과 같이 입력해줍니다.

> INCR views:page:2
(integer) 1
> INCRBY views:page:2 10
(integer) 11

리미트

 

기본적으로 Redis 단일 문자열은

최대 512MB입니다.

 

Redis 문자열 기본 명령어

 

Redis 문자열 가져오기 및 설정

  • SET: 문자열 값을 저장합니다.
  • SETNX: Key가 없을 경우에만 문자열 값을 저장하며
    문자열 잠금을 구현하는데 유용합니다.
  • GET: 문자열 값을 검색합니다.
  • MGET: 한 번의 작업으로 여러 문자열 값을 검색합니다.

 

카운터 관리

  • INCRBY: 지정된 key에 저장된 카운터를 증가시킵니다.
  • INCRBYFLOAT: 부동 소수점 카운터에 대한 또 다른
    명령입니다.

비트 연산

 

문자열에 대한 비트 연산을 수행하려면 

 

Redis bitmaps

Introduction to Redis bitmaps

redis.io

위 비트맵 데이터 유형 문서를 참조하세요

 

Commands

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker

redis.io

또 위 링크에서 문자열 명령의 대한

전체 목록을 참조할 수 있습니다.

 

Redis 성능 

 

대부분의 문자열 연산은 O(1)이므로

매우 효율적입니다. 

 

그러나 O(n)일 수 있는 SUSTR, GETRANGE 및

SETRANGE 명령은 사용의 주의해야 합니다.

 

이러한 랜덤 액세스 문자열 명령은 

큰 문자열을 처리할 때 성능 문제를 

일으킬 수 있습니다.

 

Redis 대체 옵션

 

구조화된 데이터를 직렬화된 문자열로

저장하는 경우 Redishash 또는 RedisJSON를 

고려할 수도 있습니다. 

 

자세한 사항

참고 자료

 

Redis Strings

Introduction to Redis strings

redis.io