2016-11-05 6 views
0

redis를 캐싱으로 사용하고 있습니다. 일부 키가 삭제되고 그 이유를 찾을 수없는 경우가있었습니다. 이 알림에 CONFIG SET notify-keyspace-events KEgxe의 redis keyspace/keyevent를 넣습니다. 로그를 남깁니다. 하지만 핵심 로그 나 재발견 로그에서 찾을 수있는 것도 없습니다. 그들은 RDBMS에 어떤 데이터를 가지고 있기 때문에 그러한 키가 Redis에 들어 왔음을 확신합니다. 우리는 잃어버린 상태에 빠져 있습니다.redis 키가 자동으로 삭제됩니다.

Redis 정보에 100MB의 사용량이 있다고 나와있어. 데이터와 키를 유지하는 방법.

답변

0

이 가능한 이유는 : CONFIG SET notify-keyspace-events AKE 및 로그 :

  1. 는 클라이언트가 일부 클라이언트이없는 키

당신은 주요 변경 사항에 대한 모든 구독을 시도 할 수 있습니다를 삭제

  • 을 레디 스에 쓰기 실패 이러한 문제가 로그로 바뀌어 문제를 파악합니다.

  • +0

    첫 번째 사항은 적어도 일부 키의 경우 해당 키를 본 것처럼 내가 키를 다시 작성했음을 확신합니다. 2 점 째로, 로깅을 위해'KEgxe'를 사용했습니다. 델, 만료에 충분할 것이라고 생각했습니다. 로깅 'AKE'가 모든 이벤트가 될 것입니다. 어쨌든, 나는'AKE'을 넣고 조심스럽게 지켜 볼 것입니다. 감사. – theGamblerRises

    +0

    안녕하세요 @for_stack, 나는'AKE'도 시도했지만 로그에서 아무것도 찾을 수 없었습니다. 점점 더 악화되고 있습니다. 몇 가지 의심, 기계 또는 redis 재시동있어,하지만 그 경우에는 연결 오류가 발생해야합니다. 그리고 키 또는 크기의 수에 따라 최대 제한이 있으므로 정책은 lru입니다. 내 질문은 redis가 해당 키를 지우면 keyspace 알림에도 나타납니다. – theGamblerRises

    +0

    @theGamblerRisis가 만료되거나 제거되면 알림을 보냅니다. 응용 프로그램에서 예기치 않게'flushdb' 또는'flushall'을 호출 할 수 있습니까? 이 명령은 너무 많은 키에 영향을주기 때문에 Redis는 알림을 보내지 않습니다. –

    관련 문제