Latest web development tutorials

memcached와 CAS 명령

memcached와 CAS (체크인 및-설정 또는 비교-그리고 스왑) 명령은 "확인 설정"작업을 실행하는 데 사용됩니다

그것은 단지 현재의 클라이언트 마지막 값 이후에, 키 값을 수정 다른 클라이언트가 값을 기록 할 수 없습니다하는 경우에 해당된다.

점검이 파라미터는 기존의 요소에 할당 된 고유의 64 비트 값 Memcach이다 cas_token 파라미터에 의해 수행된다.

구문 :

다음과 같이 기본 구문 CAS 명령은 다음과 같습니다

cas key flags exptime bytes unique_cas_token [noreply]
value

다음과 같이 매개 변수는 다음과 같습니다

  • 키 키 키 값 구조 키가 캐시 값을 찾기 위해 사용된다.
  • 플래그 : 정수 파라미터의 키 - 값 쌍을 포함 할 수 있고, 클라이언트는 키 - 값 쌍에 대한 추가 정보를 저장하는 데 사용한다.
  • exptime (초 0 영원히 수단) 캐시에있는 시간의 길이를 키 - 값 쌍을 저장할
  • 바이트 : 캐시에 저장된 바이트 수
  • unique_cas_token 명령은 고유의 64 비트 값을 얻는다 통해 획득.
  • noreply (선택 사항) :이 매개 변수는 서버가 데이터를 반환 할 필요가 없습니다 알려줍니다
  • 값 : 저장된 값은 (항상 두 번째 행에 위치) (직접 키 값 구조 값으로 이해 될 수있다)

CAS는 Memcached가에 명령을 사용하려면 명령을 가져옵니다 통해 Memcached가 서비스 제공 업체에서 토큰 (토큰)을 얻을 필요가있다.

기능과 유사한 기본 get 명령을 명령을 가져옵니다. 이름 / 값 쌍 "버전"식별자와 같은 매우 64 비트 정수 값 : 두 명령의 차이는, 반환 조금 더 많은 정보를 얻을 수 있다는 것입니다.

다음 단계의 예 :

  • 는 고유 토큰은 CAS 명령 실행 오류를 설정하지 않은 경우.
  • 주요 키가 존재하지 않으면, 수행은 실패했다.
  • 키 - 값 쌍을 추가합니다.
  • 가져 오기 고유 한 토큰 명령을 통해 얻을 수 있습니다.
  • 데이터를 업데이트하기 위해 CAS 명령을 사용하여
  • 데이터 업데이트를 보려면 get 명령을 사용할지 여부
cas tp 0 900 9
ERROR             <− 缺少 token

cas tp 0 900 9 2
memcached
NOT_FOUND         <− 键 tp 不存在

set tp 0 900 9
memcached
STORED

gets tp
VALUE tp 0 9 1
memcached
END

cas tp 0 900 5 1
redis
STORED

get tp
VALUE tp 0 5
redis
END

수출

데이터가 성공적으로 추가 될 경우, 출력 :

STORED

출력 정보 설명 :

  • 보존시 : 성공적으로 저장 출력 후.
  • ERROR : 저장 오류 또는 구문 오류.
  • 존재합니다 다른 사용자의 최종 값이 상기 데이터를 업데이트 한 후.
  • NOT_FOUND :이 키는 Memcached가 서비스에 존재하지 않습니다.