세게 때리다
Bash에서 키 목록을 얻으려면 다음 단계를 수행하십시오.
먼저 다음 래퍼 함수를 정의하여 사용하기 쉽도록 만듭니다 (복사하여 셸에 붙여 넣기).
function memcmd() {
exec {memcache}<>/dev/tcp/localhost/11211
printf "%s\n%s\n" "$*" quit >&${memcache}
cat <&${memcache}
}
Memcached 1.4.31 이상
lru_crawler metadump all
명령을 사용 하여 캐시의 모든 항목에 대한 메타 데이터를 대부분 덤프 할 수 있습니다 .
와 달리 cachedump
심각한 성능 문제를 일으키지 않으며 덤프 할 수있는 키의 양에 제한이 없습니다.
이전에 정의 된 기능을 사용하는 명령 예 :
memcmd lru_crawler metadump all
ReleaseNotes1431을 참조하십시오 .
Memcached 1.4.30 이하
items statistics 명령 을 사용하여 슬래브 목록을 가져옵니다 . 예 :
memcmd stats items
각 슬러브 클래스에 대해 제한 번호와 함께 슬러브 ID를 지정하여 항목 목록을 얻을 수 있습니다 ( 0
무제한).
memcmd stats cachedump 1 0
memcmd stats cachedump 2 0
memcmd stats cachedump 3 0
memcmd stats cachedump 4 0
...
참고 : 각 memcached 서버에 대해이 작업을 수행해야합니다.
모든 스텁의 모든 키를 나열하려면 하나의 서버 당 하나의 라이너가 있습니다.
for id in $(memcmd stats items | grep -o ":[0-9]\+:" | tr -d : | sort -nu); do
memcmd stats cachedump $id 0
done
참고 : 위 명령을 실행하면 항목에 액세스하는 동안 심각한 성능 문제가 발생할 수 있으므로 실행 중에는 실행하지 않는 것이 좋습니다.
노트:
stats cachedump
만 덤프 HOT_LRU
활동이 발생할 때 백그라운드 스레드에 의해 관리되는 (IIRC?) 합니다. 이는 2Q Algo를 사용할 수있는 충분한 새 버전에서 LRU 중 하나에 대한 스냅 샷보기를 제공함을 의미합니다.
모든 것을 보려면 lru_crawler metadump 1
(또는 lru_crawler metadump all
)은 대부분의 공식적으로 지원되는 새로운 방법으로 원하는만큼 많은 키를 비동기 적으로 덤프합니다. 순서가 맞지 않지만 모든 LRU에 영향을 미치며 항목을 삭제 / 교체하지 않는 한 여러 번 실행하면 동일한 결과가 나타납니다.
출처 : GH-405 .
관련 :