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

최종 업데이트 날짜: 2019년 4월 24일

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

​해결 방법

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

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

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

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


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

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?