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가 서비스에 존재하지 않습니다.