캐시 캐시 침투 눈사태

1. 캐시 사태는 무엇인가

     캐시 무효화, 데이터베이스 액세스의 다수에 직접 액세스, 데이터베이스와 CPU에 엄청난 압력을 행사하기 때문에, 데이터베이스, 시스템 충돌의 심각한 다운 타임이 발생할 수 있습니다.

2, 어떻게 캐싱 사태를 방지하기 위해

     1 캐시의 직접적인 원인으로 발생하는 사태는 캐시가 너무 접근 많은 데이터베이스에 액세스하도록 캐시로부터 데이터를 얻을 수 있고, 동시 고장 다수 동시에 때문이다.

           당신은 너무도 캐시 만료 시간 분포를 가리키는 다른 캐시 시간을 설정, 다른 키를 만들 수 있습니다.

           단점, 너무 많은 문제,이 기능을 개발하는 개발자는 다른 사람의 만료 시간의 캐싱 기능을 요청했습니다

      2 잠금이 사용될 수있다

           데이터베이스에 액세스 할 경우, 당신은 단지 스레드에 액세스 할 수 있습니다

           단점 : 완화, 성능 저하, 그냥 데이터베이스 액세스에 압력을 감소

       3, 메시징 미들웨어

           양방향 메시징 미들웨어, 더욱 메시지 큐 버퍼에 대응할 수 중간 사이하게 로킹 같이 각 스레드는 좀 더 나은 성능에 대하여 상기 데이터베이스에 액세스 로크

       (4), 2 차 캐쉬 방식을 첨가함으로써

            하나는 내부 찾을 보조 쿼리에 안으로 들어갈 수 없습니다.

           A1은 A2, A1 캐시 만료 시간이 설정되어 단기 액세스를 실패 할 경우, 보조 캐시를 수행 원래 A1 캐시, A2 사본, 캐시, A2는 장기에 대한 설정 (이 점은 보완)

3. 캐시 침투는 무엇인가

     캐시 침투 캐시를 액세스 할 때마다, 거기에 액세스 할 수 없습니다, 다음 데이터베이스에 액세스 할 수있다, 비슷한 요청 복수, 그것은 데이터베이스에 많은 압력이 발생할 때 데이터베이스가되지 않습니다.

     이 경우, 해커 공격이 발생

     해결 방법 : 데이터베이스 캐시에 넣어 빈 반환하지 않으면 다음 쿼리는 데이터베이스에 액세스하지 않으며, 데이터베이스에 대한 압력을 줄일 수 있습니다.

     개인  문자열 SIGN_KEY = "$ {NULL}이", 반환 값으로 특수한 캐릭터와 유사한 것으로 가정 할 수있다.

 

추천

출처www.cnblogs.com/pickKnow/p/11314726.html