memcached 프로 토 콜 및 명령
다섯 가지 기본 memcached 명령 을 사용 하여 가장 간단 한 작업 을 수행 할 것 입 니 다.이 명령 과 동작 은 다음 과 같 습 니 다:
set
add
replace
get
delete
세 번 째 명령 은 memcached 에 저 장 된 키 값 을 조작 하 는 표준 수정 명령 입 니 다.그것들 은 모두 매우 간단 하고 사용 하기 쉬 우 며 목록 5 에서 보 여 준 문법 을 사용한다.
목록 5.명령 문법 수정
command <key> <flags> <expiration time> <bytes>
<value>
표 1 은 memcached 가 명령 을 수정 하 는 매개 변수 와 용법 을 정의 했다.
표 1.memcached 수정 명령 파라미터
매개 변수 용법
key
key 캐 시 값 찾기
flags
키 쌍 의 정형 파 라미 터 를 포함 할 수 있 으 며,클 라 이언 트 는 키 쌍 에 대한 추가 정 보 를 저장 합 니 다
expiration time
캐 시 에 키 쌍 의 시간 길 이 를 저장 합 니 다(초 단위,0 은 영원 함 을 표시 합 니 다)
bytes
캐 시 에 저 장 된 바이트 점
value
저 장 된 값(항상 두 번 째 줄 에 있 음)
이제 이 명령 들 의 실제 사용 을 살 펴 보 자.
set
set
명령 은 캐 시 에 새 키 쌍 을 추가 하 는 데 사 용 됩 니 다.키 가 존재 하면 이전 값 이 대 체 됩 니 다.다음 대화 에 주의 하 십시오.
set
명령 을 사 용 했 습 니 다.set userId 0 0 5
12345
STORED
set
명령 을 사용 하여 키 쌍 을 정확하게 설정 하면 서버 는 단어 STORED 를 사용 하여 응답 합 니 다.이 예제 에 서 는 캐 시 에 키 쌍 을 추 가 했 습 니 다.키 는userId
이 고 그 값 은12345
입 니 다.만 료 시간 을 0 으로 설정 합 니 다.이 값 을 삭제 할 때 까지 캐 시 에 저장 하 라 고 memcached 에 알려 줍 니 다.add 는 캐 시 에 키 가 존재 하지 않 을 때 만
add
명령 이 캐 시 에 키 쌍 을 추가 합 니 다.캐 시 에 키 가 존재 한다 면 이전 값 은 같 고 응답 NOT 를 받 을 수 있 습 니 다.STORED。 다음은
add
명령 을 사용 하 는 표준 대화 입 니 다.set userId 0 0 5
12345
STORED
add userId 0 0 5
55555
NOT_STORED
add companyId 0 0 3
564
STORED
replace 는 키 가 존재 할 때 만
replace
명령 이 캐 시 에 있 는 키 를 교체 합 니 다.캐 시 에 키 가 존재 하지 않 는 다 면 memcached 서버 에서 NOT 를 받 아들 일 것 입 니 다.STORED 응답.다음은replace
명령 을 사용 하 는 표준 대화 입 니 다:replace accontId 0 567890
NOT_STORED
set accountId 0 0 5
67890
STORED
replace accountId 0 0 5
55555
STORED
마지막 두 가지 기본 명령 은
get
과delete
이다.이 명령 들 은 상당히 이해 하기 쉽 고 유사 한 문법 을 사 용 했 습 니 다.다음 과 같 습 니 다.command <key>
다음은 이 명령 들 의 응용 을 보 겠 습 니 다.
get
get
명령 은 이전에 추 가 된 키 값 과 관련 된 값 을 검색 하 는 데 사 용 됩 니 다.대부분의 검색 작업 을 수행 하기 위해 서get
를 사용 할 것 입 니 다.다음은
get
명령 을 사용 하 는 전형 적 인 상호작용 입 니 다.set userId 0 0 5
12345
STORED
get userId
VALUE userId 0 5
12345
END
get bob
END
보시 다시 피
get
명령 은 상당히 간단 합 니 다.하나의 키 를 사용 하여 호출get
합 니 다.이 키 가 캐 시 에 존재 하면 해당 하 는 값 을 되 돌려 줍 니 다.존재 하지 않 으 면 어떤 내용 도 되 돌려 주지 않 습 니 다.delete 의 마지막 기본 명령 은delete
입 니 다.delete
명령 은 memcached 의 기 존 값 을 삭제 하 는 데 사 용 됩 니 다.키 호출delete
을 사용 합 니 다.이 키 가 캐 시 에 존재 하면 이 값 을 삭제 합 니 다.존재 하지 않 으 면 NOT 를 되 돌려 줍 니 다.FOUND 소식.다음은delete
명령 을 사용 한 클 라 이언 트 서버 상호작용:set userId 0 598765
STORED
delete bob
NOT_FOUND
delete userId
DELETED
get userId
END
고급 memcached 클 라 이언 트 명령memcached 에서 사용 할 수 있 는 두 가지 고급 명령 은
gets
과cas
이다.gets
와cas
명령 을 결합 하여 사용 해 야 한다.기 존의 이름/값 을 새 값 으로 설정 하지 않도록 이 두 명령 을 사용 할 것 입 니 다.(이 값 이 업데이트 되 었 다 면)우 리 는 이 명령 들 을 각각 살 펴 보 자.getsgets
명령 의 기능 은 기본get
명령 과 유사 하 다.두 명령 사이 의 차 이 는gets
되 돌아 오 는 정보 가 약간 많다 는 것 이다.64 비트 의 전체 값 은 이름/값 이 맞 는'버 전'식별 자 와 매우 비슷 하 다.다음은gets
명령 을 사용 한 클 라 이언 트 서버 상호작용:set userId 0 512345
STORED
get userId
VALUE userId 0 5
12345
END
gets userId
VALUE userId 0 5 4
12345
END
get
과gets
명령 간 의 차 이 를 고려 하 다.gets
명령 은 추가 값 을 되 돌려 줍 니 다.이 예 에서 정형 값 4 로 표지 이름/값 쌍 에 사 용 됩 니 다.이 이름/값 이 다른set
명령 을 실행 하면gets
되 돌아 오 는 추가 값 이 변경 되 어 이름/값 이 업데이트 되 었 음 을 나타 낸다.목록 6 은 예 를 보 여 줍 니 다.목록 6.set 업데이트 버 전 인디케이터 set userId 0 0 5
33333
STORED
gets userId
VALUE userId 0 5 5
33333
END
gets
되 돌아 오 는 값 을 보 셨 습 니까?그것 은 이미 5 로 업데이트 되 었 다.이름/값 이 맞 을 때마다 이 값 이 변 경 됩 니 다.카 스cas
(check 과 set)는 매우 편리 한 memcached 명령 으로 이름/값 쌍 의 값 을 설정 하 는 데 사 용 됩 니 다.(이 이름/값 이 지난번 에 실 행 된gets
이후 업데이트 되 지 않 았 다 면)이것 은set
명령 과 유사 한 문법 을 사용 하지만,추가 값 을 포함 합 니 다.gets
되 돌아 오 는 추가 값 입 니 다.다음 사용cas
명령 의 상호작용 에 주의 하 십시오.
보시 다시 피 저 는 추가 정형 치 6 을 사용 하여
gets
명령 을 호출 하고 비상 순 서 를 실행 합 니 다.이제 목록 7 의 일련의 명령 을 살 펴 보 자.목록 7.이전 버 전 인디케이터 를 사용 한 카 스 명령
set userId 0 0 5
55555
STORED
gets userId
VALUE userId 0 5 8
55555
END
cas userId 0 0 5 6
33333
EXISTS
주의 하 세 요.저 는
gets
최근 에 돌아 온 정형 치 를 사용 하지 않 았 고cas
명령 은 EXISTS 값 을 되 돌려 실 패 를 보 여 주 었 습 니 다.본질 적 으로gets
와cas
명령 을 동시에 사용 하면 지난번 에 읽 은 후에 업 데 이 트 된 이름/값 쌍 을 사용 하 는 것 을 방지 할 수 있 습 니 다.캐 시 관리 명령마지막 두 memcached 명령 은 memcached 인 스 턴 스 를 감시 하고 청소 하 는 데 사 용 됩 니 다.그것들 은stats
과flush_all
명령 이다.statsstats
명령 의 기능 은 이름 과 같 습 니 다.연 결 된 memcached 인 스 턴 스 의 현재 통계 데 이 터 를 저장 합 니 다.다음 예 에서 실행stats
명령 은 현재 memcached 인 스 턴 스 에 대한 정 보 를 보 여 줍 니 다:statsSTAT pid 63
STAT uptime 101758
STAT time 1248643186
STAT version 1.4.11
STAT pointer_size 32
STAT rusage_user 1.177192
STAT rusage_system 2.365370
STAT curr_items 2
STAT total_items 8
STAT bytes 119
STAT curr_connections 6
STAT total_connections 7
STAT connection_structures 7
STAT cmd_get 12
STAT cmd_set 12
STAT get_hits 12
STAT get_misses 0
STAT evictions 0
STAT bytes_read 471
STAT bytes_written 535
STAT limit_maxbytes 67108864
STAT threads 4
END
이곳 의 대부분의 출력 은 매우 이해 하기 쉽다.잠시 후 캐 시 성능 에 대해 토론 할 때,나 는 이 값 들 의 의 미 를 상세 하 게 설명 할 것 이다.현재,우 리 는 먼저 출력 을 살 펴 본 다음 에 새로운 키 를 사용 하여
set
명령 을 실행 하고,다시stats
명령 을 실행 하 며,어떤 변화 가 발생 했 는 지 주의 합 니 다.flush_allflush_all
은 마지막 으로 소개 할 명령 이다.이 가장 간단 한 명령 은 캐 시 에 있 는 모든 이름/값 쌍 을 청소 하 는 데 만 사 용 됩 니 다.캐 시 를 깨끗 한 상태 로 리 셋 해 야 한다 면flush_all
큰 도움 이 될 것 입 니 다.다음은 사용flush_all
의 예 입 니 다:set userId 0 0 555555
STORED
get userId
VALUE userId 0 5
55555
END
flush_all
OK
get userId
END
캐 시 성능본 논문 의 마지막 부분 에서 저 는 고급 memcached 명령 을 어떻게 사용 하여 캐 시 성능 을 확인 하 는 지 토론 할 것 입 니 다.
stats
명령 은 캐 시 를 조정 하 는 데 사 용 됩 니 다.주의해 야 할 두 가지 가장 중요 한 통계 데 이 터 는 et 이다.hits 와 getmisses。이 두 값 은 각각 이름/값 이 맞 는 횟수 를 표시 합 니 다(gethits)와 이름/값 을 찾 지 못 한 횟수(getmisses)。이 값 을 결합 하면 캐 시 이 용 률 이 어떤 지 확인 할 수 있 습 니 다.캐 시 를 처음 시작 할 때 get 을 볼 수 있 습 니 다.misses 는 자 연 스 럽 게 증가 하지만 일정한 사용량 을 거 친 후 이 getmisses 값 은 점점 평온 해 질 것 입 니 다.캐 시 는 주로 일반적인 읽 기 동작 에 사 용 됩 니 다.get 를 보신 다 면misses 계속 빠르게 증가,gethits 가 점점 안정 되 고 있 으 면 캐 시 된 내용 이 무엇 인지 확인 해 야 합 니 다.잘못된 내용 을 캐 시 했 을 수도 있 습 니 다.캐 시 효율 을 확인 하 는 또 다른 방법 은 캐 시 명중률(hit ratio)을 보 는 것 입 니 다.캐 시 적중률 은 실행get
횟수 와 놓 친 횟수get
의 백분율 을 나타 낸다.이 백분율 을 확인 하려 면 목록 8 과 같은 명령 을 다시 실행 해 야 합 니 다.목록 8.캐 시 적중률 계산 stats
STAT pid 6825
STAT uptime 540692
STAT time 1249252262
STAT version 1.2.6
STAT pointer_size 32
STAT rusage_user 0.056003
STAT rusage_system 0.180011
STAT curr_items 595
STAT total_items 961
STAT bytes 4587415
STAT curr_connections 3
STAT total_connections 22
STAT connection_structures 4
STAT cmd_get 2688
STAT cmd_set 961
STAT get_hits 1908
STAT get_misses 780
STAT evictions 0
STAT bytes_read 5770762
STAT bytes_written 7421373
STAT limit_maxbytes 536870912
STAT threads 1
END
지금,get 로hits 의 수 치 를 cmd 로 나 누 기gets。이 예 에서 당신 의 명중률 은 약 71%입 니 다.이상 적 인 상황 에서 당신 은 더 높 은 백분율-비율 이 높 을 수록 좋 습 니 다.통계 데 이 터 를 볼 때 캐 시 정책 의 효율 을 잘 판단 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
최근 문제가 되고 있는 서버 스레드 중단 문제 해결우리의 응용 프로그램은 인터넷 하드디스크와 같은 다운로드 도구로 사이트의 방문량이 비교적 적지만 문제가 우리를 계속 괴롭히고 있다. 바로was 서버가 일정 시간 간격으로 라인을 끊고 시간이 길고 짧으며 5분 안에 다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.