Redis 구성

이 페이지에서는 Memorystore for Redis에 사용할 수 있는 maxmemory 정책 및 기타 Redis 구성에 대해 설명합니다. 구성을 조정하는 경우 Redis 인스턴스를 다시 시작하지 않아도 됩니다.

아래 나열된 구성을 수정하는 방법은 Redis 인스턴스 구성을 참조하세요.

Maxmemory 정책

Redis 인스턴스 메모리에 여유 공간이 없는 상태에서 새로운 쓰기가 들어오면 Redis는 키를 삭제하여 인스턴스의 maxmemory 정책을 기반으로 쓰기를 수행할 공간을 확보합니다. Memorystore for Redis의 기본 maxmemory 정책volatile-lru입니다. 다음 maxmemory 정책 중 하나를 사용할 수도 있습니다.

  • noeviction: Redis 인스턴스가 maxmemory에 도달하면 오류를 반환합니다. 데이터를 덮어쓰거나 제거하지는 않습니다.
  • allkeys-lfu: Redis 버전 4.0 이상에서 사용 가능합니다. 전체 키 세트에서 가장 적게 사용된(LFU) 키를 제거합니다.
  • allkeys-lru: 전체 키 세트에서 가장 최근에 사용한(LRU) 키를 제거합니다.
  • volatile-lfu: Redis 버전 4.0 이상에서 사용 가능합니다. TTL(수명) 만료와 함께 가장 적게 사용된 키를 제거합니다.
  • volatile-lru: TTL 만료로 설정된 가장 최근에 사용된(LRU) 키를 제거합니다.
  • allkeys-random: 전체 키스페이스에서 임의의 키를 제거합니다.
  • volatile-random: TTL 만료로 설정된 세트 중에서 임의의 키를 제거합니다.
  • volatile-ttl: TTL 만료로 설정된 세트 중에서 TTL이 가장 짧은 키를 제거합니다.

수정 가능한 구성 매개변수

Memorystore for Redis 인스턴스를 만들거나 업데이트할 때 다음 매개변수를 수정할 수 있습니다.


매개변수 설명 사용 가능한 값
activedefrag Redis 버전 4.0 이상 이를 통해 표준 OSS Redis 메모리 조각화 동작에 연결된 인스턴스 메모리를 확보할 수 있습니다. no(기본값)
yes
lfu-decay-time Redis 버전 4.0 이상 지정된 키에 대한 LFU 실행 빈도 카운터를 2로 나누기 전의 시간(분)입니다(카운터가 10 미만인 경우 1씩 감소). 자세한 내용은 REDIS.CONF 파일을 참조하세요. 'long'데이터 유형의 양의 정수
(기본값=1)
lfu-log-factor Redis 버전 4.0 이상 실행 빈도 카운터가 키 적중을 나타내는 방식을 결정합니다. 기본 구성을 수정하기 전에 REDIS.CONF 파일에서 lfu-log-factor 구성이 작동하는 방식을 참조하세요. 'long'데이터 유형의 양의 정수
(기본값=10)
maxmemory-gb 제거 정책이 적용되는 조정 가능한 한도를 지정합니다. 예를 들어 10GB 인스턴스가 있는 경우 maxmemory-gb8로 설정하면 데이터가 8GB의 인스턴스 메모리를 차지하는 경우에 제거 정책이 적용됩니다. 이렇게 하면 2GB의 메모리가 오버헤드로 남게 됩니다. 기본적으로 maxmemory-gb는 인스턴스 용량으로 설정됩니다. maxmemory-gb 구성을 가장 잘 사용하는 방법에 대한 자세한 내용은 Memorystore 메모리 관리 권장사항을 참조하세요.

이 구성은 Google Cloud 콘솔에 maxmemory-percent로 표시됩니다. 콘솔을 사용하는 경우 특정 GB 수치 대신 maxmemory-percent를 인스턴스 용량의 백분율로 설정합니다.
정수 또는 십진수로 표현된 GB 수입니다.
예:
10은 10GB의 maxmemory-gb를 지정합니다.
1.5는 1.5GB의 maxmemory-gb를 지정합니다.
maxmemory-gb는 인스턴스 용량의 최소 20%까지 축소될 수 있습니다.
maxmemory-policy 인스턴스 데이터가 maxmemory-gb 한도에 도달하면 Redis가 수행하는 동작을 지정합니다. 각 정책의 동작에 대한 설명은 Maxmemory 정책을 참조하세요.

오픈소스 Redis maxmemory 정책에 대한 자세한 내용은 오픈소스 Redis LRU 캐시 페이지를 참조하세요.
noeviction
allkeys-lru
volatile-lru(기본값)
allkeys-random
volatile-random
volatile-ttl
volatile-lfu(Redis 버전 4.0 이상)
allkeys-lfu(Redis 버전 4.0 이상)
notify-keyspace-events 클라이언트가 특정 키스페이스 이벤트에 대한 알림을 구독할 수 있습니다. 자세한 내용은 Redis 사이트의 Redis 키스페이스 알림 페이지를 참조하세요. ""(기본값)
K
__keyspace@__ prefix로 게시된 키스페이스 이벤트
E
__keyevent@__ prefix로 게시된 키이벤트 이벤트
g
DEL, EXPIRE 또는 RENAME과 같은 유형 관련이 아닌 일반 명령어
$
문자열 명령어
l
나열 명령어
s
집합 명령어
h
해시 명령어
z
정렬된 집합 명령어
x
만료된 이벤트(키가 만료될 때마다 생성되는 이벤트)
e
제거된 이벤트(maxmemory에 대해 키가 제거될 때 생성되는 이벤트)
A
g$lshzxe의 별칭이며, 'AKE' 문자열은 모두 이벤트를 나타냅니다.
stream-node-max-bytes Redis 버전 5.0 이상. Redis 스트림 데이터 구조는 radix 트리를 사용하여 항목을 저장합니다. stream-node-max-bytes 매개변수는 단일 트리 노드에 항목을 저장하는 데 사용할 수 있는 최대 바이트 수를 지정합니다. 이 한도에 도달하면 새 트리 노드에 새 항목이 저장됩니다. 0 이상의 정수입니다.
(기본값=4096)
0은 크기가 무제한인 트리 노드를 지정합니다.
stream-node-max-entries Redis 버전 5.0 이상. Redis 스트림 데이터 구조는 radix 트리를 사용하여 항목을 저장합니다. stream-node-max-entries 매개변수는 단일 노드에 저장할 수 있는 항목 수를 지정합니다. 이 한도에 도달하면 새 트리 노드에 새 항목이 저장됩니다. 0 이상의 정수입니다.
(기본값=100)
0은 항목이 무제한인 트리 노드를 지정합니다.
timeout 유휴 클라이언트 연결이 종료되기 전까지의 시간(초)입니다. 하지만 timeout0으로 설정된 경우 유휴 클라이언트 시간은 제한되지 않으며 클라이언트가 종료될 때까지 연결된 상태를 유지합니다. 0(기본값)
정수 >= 120
단위 =

수정할 수 없는 구성 매개변수

다음 표에는 Memorystore for Redis에서 수정할 수 없는 Redis 구성 매개변수와 그 기본값이 나와 있습니다. 이러한 구성 매개변수에 대한 자세한 내용은 Redis 구성 문서를 참조하세요.

매개변수 기본값
lua-time-limit 5000
hash-max-ziplist-entries 2048
hash-max-ziplist-value 1024
list-max-ziplist-size -2
list-compress-depth . 0
set-max-intset-entries 512
zset-max-ziplist-entries 1024
zset-max-ziplist-value 1024
hll-sparse-max-byte 3000
activerehashing
hz 10
databases 16
maxclients 65000
slowlog-log-slower-than 10000
slowlog-max-len 128
repl-diskless-load swapdb
io-threads-do-reads

다음 단계

  • 오픈소스 Redis 구성 페이지에서 Redis 구성 자세히 알아보기