키가 만료되었는데 Memcached 클러스터에서 CurrItems 지표가 감소하지 않는 이유는 무엇입니까?

최종 업데이트 날짜: 2020년 8월 11일

키가 만료되었는데 Memcached 클러스터에서 CurrItems 지표가 감소하지 않는 이유는 무엇입니까?

해결 방법

이는 예상된 동작입니다. Memcached는 TTL(Time To Live) 만료 시 만료 지연을 사용하여 키를 제거합니다 즉, 키가 만료되더라도 노드에서 제거되지 않습니다. 하지만 누군가 만료된 키에 액세스하려고 하면 Memcached에서 키를 검사하여 키가 만료되었는지 확인한 후 메모리에서 제거합니다

해당 슬랩 클래스에 새 키를 수용할 여유 청크나 여유 페이지가 남아 있지 않으면 Memcached는 만료된 키를 제거하며, 이미 만료된 키를 찾을 수 없는 경우에는 LRU(Least Recently Used) 알고리즘을 사용하여 키를 제거합니다. 키가 메모리에서 제거된 후에는 CurrItems 지표가 감소합니다.

백그라운드 스레드(선택 사항)인 lru_crawler 스레드도 메모리에서 만료된 키를 삭제합니다. lru_crawler는 보수적인 태스크로, 활성화해도 만료된 키에 대해 제한된 작업을 수행합니다. 따라서 lru_crawler를 활성화하더라도 CurrItems 지표와 키 공간 메모리의 사용량이 줄어들기까지 어느 정도 시간이 걸릴 수 있습니다.

일정 시간 동안 키를 사용할 수 있게 하려면 TTL을 사용합니다. 이 경우 키가 무효화(만료)되면 제거됩니다. 만료 시간 후에는 키를 검색할 수 없습니다.


이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?