Redis를 캐시로 구성
IBM Cloud® Databases for Redis Redis 데이터베이스 구성 변경을 지원하며, 이를 사용하여 Redis 캐시로 구성할 수 있습니다. 캐시로
구성되면 사용자가 정의하는 캐시 설정에 따라 Redis가 새 데이터를 위해 이전 데이터를 제거합니다. 캐시로 구성된 경우에도 Databases for Redis 배치는 여전히 일일 백업 스냅샷을 작성합니다. 현재 배치에서 백업을 사용 안함으로 설정하는 것은 가능하지 않습니다. 또한 고가용성을 위해 일부 데이터를 디스크에 기록합니다. Redis는 .rdb 파일 복사에 의존하여 팔로워를 재동기화합니다.
캐시 설정
캐시는 배치의 maxmemory 및 maxmemory 설정을 조정하여 구성합니다. maxmemory은(는) 캐시의 크기를 정의합니다. maxmemory-policy는 maxmemory 한계에 도달하는 경우 제거 동작을 정의합니다. 또한 기타 설정이 데이터베이스 오퍼레이션 및 튜닝을 처리합니다.
maxmemory
기본적으로 maxmemory는 데이터 노드의 사용 가능한 메모리의 80%로 설정되므로 노드에 시스템 리소스가 부족하지 않습니다. 이 설정을 조정할 수 있지만 적절한 한계를 설정하십시오. 그렇지 않으면 데이터가 사용 가능한 메모리를 모두 사용할 수 있으며 배치에 리소스가 부족하게 됩니다.
maxmemory-policy
| 정책 | 동작 |
|---|---|
noeviction |
maxmemory 한계에 도달하는 경우 키를 제거하지 않고 오류를 리턴합니다. |
allkeys-lfu |
자주 사용되는 키를 유지하고 가장 적게 사용되는 (LFU) 키를 제거합니다. |
volatile-lfu |
만기 필드가 true로 설정된 가장 적게 사용되는 키를 제거합니다. |
allkeys-lru |
최근 사용도가 낮은(LRU) 키를 먼저 제거합니다. |
volatile-lru |
만료된 키 세트에서 최근 사용도가 낮은(LRU) 키를 먼저 제거합니다. |
allkeys-random |
키를 무작위로 제거합니다. |
volatile-random |
만료된 키 세트에서 랜덤으로 키를 제거합니다. |
volatile-ttl |
만료된 키를 제거하고 TTL(Time To Live)이 더 짧은 키를 먼저 제거하려고 시도합니다. |
allkeys 정책을 사용하는 경우 알고리즘이 모든 키 세트에서 제거할 키를 선택합니다. volatile 정책을 사용하는 경우 알고리즘은 만료되거나 TTL(Time-to-Live)이
설정된 키를 제거하도록 선택합니다. volatile 정책에서 정책과 일치하는 키가 없으면 키가 제거되지 않습니다.
기타 설정
| 정책 | 동작 | 참고 |
|---|---|---|
appendonly |
기본값: yes. Redis 데이터가 디스크에 쓰여질 수 있도록 합니다. |
데이터를 캐싱하는 경우 이 값을 no로 설정할 수 있습니다. |
stop-writes-on-bgsave-error |
기본값: yes. Redis가 실패한 백업 스냅샷을 발견하는 경우 쓰기 허용을 중지합니다. |
캐싱의 경우 no로 설정할 수 있습니다. |
maxmemory-samples |
LRU 알고리즘을 튜닝합니다. 기본값: 5. |
근사값 LRU 알고리즘 |
예제 캐시 설정
배치의 구성을 조정하려면 변경하려는 설정과 해당 새 값이 포함된 JSON 오브젝트를 보내십시오.
Redis cli-client에서 직접 CONFIG SET을 사용할 수 있지만 여기서 작성된 변경사항은 영구적이지 않습니다. Cloud Databases 사용하세요 CLI 플러그인 또는 API를 사용하여 배포의 구성 파일을 변경하세요. 자세한 정보는 Redis 구성 변경에 있습니다.
예를 들어, Redis 문서에서는 allkeys-lru 설정을 범용 캐시에 대한 좋은 시작점으로 권장합니다. 또한 maxmemory 및 maxmemory-samples를 기본값으로 두는 것이 좋습니다.
CLI에서 캐시를 구성하려면 다음을 사용할 수 있습니다:
ibmcloud cdb deployment-configuration '<INSTANCE_NAME_OR_CRN>' '{"configuration":{"maxmemory-policy":"allkeys-lru", "appendonly":"no", "stop-writes-on-bgsave-error":"no"}}'
API를 통해 동일한 구성을 설정하려면 다음을 사용할 수 있습니다:
curl -X PATCH 'https://api.{region}.databases.cloud.ibm.com/v4/ibm/deployments/{id}/configuration/schema' \
-H "Authorization: Bearer $APIKEY" \
-H "Content-Type: application/json" \
-d '{"configuration":{
"maxmemory-policy":"allkeys-lru",
"appendonly":"no",
"stop-writes-on-bgsave-error":"no"
}
}'