>  기사  >  데이터 베이스  >  Redis 캐시 침투 및 캐시 사태 문제를 해결하는 방법

Redis 캐시 침투 및 캐시 사태 문제를 해결하는 방법

WBOY
WBOY앞으로
2023-05-31 19:45:411111검색

Redis 캐시 침투 및 캐시 눈사태 문제를 해결하는 방법

캐시 눈사태: 캐시 계층은 많은 수의 요청을 전달하므로 스토리지 계층을 효과적으로 보호합니다. 그러나 캐시 계층이 다음과 같은 이유로 서비스를 제공할 수 없는 경우. Redis 노드가 중단되고 모든 핫스팟 키가 유효하지 않습니다. 이 경우 모든 요청이 데이터베이스에 직접 이루어지며 이로 인해 데이터베이스 가동 중지가 발생할 수 있습니다.

캐시 사태를 방지하고 해결하려면 다음 세 가지 측면에서 시작할 수 있습니다.

1. Redis 고가용성 아키텍처 사용: Redis 클러스터를 사용하여 Redis 서비스가 중단되지 않도록 합니다.

2. 시간: 캐시용. 집단 실패를 방지하기 위해 만료 시간을 임의의 값으로 추가합니다

3. 현재 제한 다운그레이드 전략: 특정 파일링이 있습니다. 예를 들어 개인화 추천 서비스를 사용할 수 없는 경우 핫 데이터 추천 서비스로 대체합니다.

캐시 침투: 캐시 침투는 전혀 존재하지 않는 데이터를 쿼리하는 것을 의미합니다. 이러한 데이터는 확실히 캐시에 없으며 이로 인해 모든 요청이 데이터베이스에 떨어지게 되고 데이터베이스 가동 중지 시간이 발생할 수 있습니다.

캐시 침투 문제를 방지하고 해결하려면 다음 두 가지 방법을 고려해 볼 수 있습니다.

1. 빈 개체를 캐시합니다. 하지만 잘못된 Null 값이 많아 공간을 차지한다는 문제가 있습니다. 그것은 매우 낭비입니다.

2. 블룸 필터 차단: 먼저 가능한 모든 쿼리 키를 블룸 필터에 매핑합니다. 쿼리할 때 먼저 해당 키가 블룸 필터에 있는지 확인한 다음 존재하지 않으면 계속 실행합니다. . 블룸 필터에는 특정한 잘못된 판단이 있으므로 비즈니스에서는 어느 정도 내결함성을 허용해야 합니다.

위 내용은 Redis 캐시 침투 및 캐시 사태 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제