이 페이지에서는 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 |
lazyfree-lazy-eviction | Redis 버전 7.0 이상. 제거 시 지연 없음 기능을 사용/중지합니다. no 는 이 구성을 중지합니다. 자세한 내용은 REDIS.CONF를 참조하세요. |
no (기본값)yes |
lazyfree-lazy-expire | Redis 버전 7.0 이상. 만료 시 지연 없음 기능을 사용/중지합니다. no 는 이 구성을 중지합니다. 자세한 내용은 REDIS.CONF를 참조하세요. |
no (기본값)yes |
lazyfree-lazy-user-del | Redis 버전 7.0 이상. 사용자 DEL에 지연 없음 기능을 사용/중지합니다. no 는 이 구성을 중지합니다. 자세한 내용은 REDIS.CONF를 참조하세요. |
no (기본값)yes |
lazyfree-lazy-user-flush | Redis 버전 7.0 이상. 사용자 플러시에 지연 없음 기능을 사용/중지합니다. no 는 이 구성을 중지합니다. 자세한 내용은 REDIS.CONF를 참조하세요. |
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-clients | Redis 7.0 이상. 이 구성을 통해 클라이언트의 최대 메모리 사용량을 제어할 수 있습니다. 일반/pubsub 클라이언트의 총 메모리 사용량입니다. 한도에 도달하면 메모리 사용량을 거의 다 사용한 클라이언트가 삭제됩니다. |
기본값은 0% (제한 없음)입니다. 허용되는 값은 정수 백분율 값(0% ~100% 사이)입니다. 클라이언트 스토리지가 제한되는 인스턴스 최대 메모리의 백분율을 나타냅니다. |
maxmemory-gb | 제거 정책이 적용되는 조정 가능한 한도를 지정합니다.
예를 들어 10GB 인스턴스가 있는 경우 maxmemory-gb 를 8 로 설정하면 데이터가 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@ E __keyevent@ 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 |
유휴 클라이언트 연결이 종료되기 전까지의 시간(초)입니다. 하지만 timeout 이 0 으로 설정된 경우 유휴 클라이언트 시간은 제한되지 않으며 클라이언트가 종료될 때까지 연결된 상태를 유지합니다.
|
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 구성 자세히 알아보기