memcached 프로 토 콜 및 명령

기본 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
    저 장 된 값(항상 두 번 째 줄 에 있 음)
    이제 이 명령 들 의 실제 사용 을 살 펴 보 자.
    setset명령 은 캐 시 에 새 키 쌍 을 추가 하 는 데 사 용 됩 니 다.키 가 존재 하면 이전 값 이 대 체 됩 니 다.
    다음 대화 에 주의 하 십시오.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 5
    67890
    NOT_STORED
    set accountId 0 0 5
    67890
    STORED
    replace accountId 0 0 5
    55555
    STORED
    마지막 두 가지 기본 명령 은getdelete이다.이 명령 들 은 상당히 이해 하기 쉽 고 유사 한 문법 을 사 용 했 습 니 다.다음 과 같 습 니 다.
    command <key>
    

    다음은 이 명령 들 의 응용 을 보 겠 습 니 다.
    getget명령 은 이전에 추 가 된 키 값 과 관련 된 값 을 검색 하 는 데 사 용 됩 니 다.대부분의 검색 작업 을 수행 하기 위해 서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 5
    98765
    STORED
    delete bob
    NOT_FOUND
    delete userId
    DELETED
    get userId
    END
    고급 memcached 클 라 이언 트 명령memcached 에서 사용 할 수 있 는 두 가지 고급 명령 은getscas이다.getscas명령 을 결합 하여 사용 해 야 한다.기 존의 이름/값 을 새 값 으로 설정 하지 않도록 이 두 명령 을 사용 할 것 입 니 다.(이 값 이 업데이트 되 었 다 면)우 리 는 이 명령 들 을 각각 살 펴 보 자.getsgets명령 의 기능 은 기본get명령 과 유사 하 다.두 명령 사이 의 차 이 는gets되 돌아 오 는 정보 가 약간 많다 는 것 이다.64 비트 의 전체 값 은 이름/값 이 맞 는'버 전'식별 자 와 매우 비슷 하 다.다음은gets명령 을 사용 한 클 라 이언 트 서버 상호작용:set userId 0 5
    12345
    STORED
    get userId
    VALUE userId 0 5
    12345
    END
    gets userId
    VALUE userId 0 5 4
    12345
    END getgets명령 간 의 차 이 를 고려 하 다.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 값 을 되 돌려 실 패 를 보 여 주 었 습 니 다.본질 적 으로getscas명령 을 동시에 사용 하면 지난번 에 읽 은 후에 업 데 이 트 된 이름/값 쌍 을 사용 하 는 것 을 방지 할 수 있 습 니 다.캐 시 관리 명령마지막 두 memcached 명령 은 memcached 인 스 턴 스 를 감시 하고 청소 하 는 데 사 용 됩 니 다.그것들 은statsflush_all명령 이다.statsstats명령 의 기능 은 이름 과 같 습 니 다.연 결 된 memcached 인 스 턴 스 의 현재 통계 데 이 터 를 저장 합 니 다.다음 예 에서 실행stats명령 은 현재 memcached 인 스 턴 스 에 대한 정 보 를 보 여 줍 니 다:stats
    STAT 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 5
    55555
    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%입 니 다.이상 적 인 상황 에서 당신 은 더 높 은 백분율-비율 이 높 을 수록 좋 습 니 다.통계 데 이 터 를 볼 때 캐 시 정책 의 효율 을 잘 판단 할 수 있 습 니 다.

    좋은 웹페이지 즐겨찾기