Memcached CAS 명령
Memcached CAS(Check-And-Set 또는 Compare-And-Swap) 명령은 "확인 및 설정" 작업을 수행하는 데 사용됩니다.
마지막 이후에 키에 해당하는 값을 얻지 못한 경우에만 사용됩니다. 현재 클라이언트가 값을 검색한 시간입니다. 다른 클라이언트가 값을 수정한 경우에만 값을 쓸 수 있습니다.
검사는 Memcach가 기존 요소에 할당하는 고유한 64비트 값인 cas_token 매개변수를 통해 수행됩니다.
Syntax:
CAS 명령의 기본 구문 형식은 다음과 같습니다.
cas key flags exptime bytes unique_cas_token [noreply] value
매개 변수 설명은 다음과 같습니다.
key: Key value 키-값 구조의 키를 사용하여 찾습니다. 캐시 값.
flags: 클라이언트가 키-값 쌍에 대한 추가 정보를 저장하는 데 사용하는 키-값 쌍을 포함할 수 있는 정수 매개변수 .
exptime: 캐시에 키-값 쌍을 보관하는 기간(초 단위, 0은 영원히 유지됨)
bytes: 캐시에 저장된 바이트 수
unique_cas_token gets 명령을 통해 얻은 고유한 64비트 값입니다.
noreply(선택 사항): 이 매개 변수는 서버에 데이터를 반환할 필요가 없음을 알려줍니다.
value: 저장된 값(항상 두 번째 줄에 위치)(직접적으로 이해될 수 있음) )
Instance
Memcached에서 CAS 명령을 사용하려면 gets 명령을 통해 Memcached 서비스 공급자로부터 토큰을 얻어야 합니다.
gets 명령은 기본 get 명령과 유사하게 작동합니다. 두 명령의 차이점은 get이 이름/값 쌍의 "버전" 식별자와 매우 유사한 64비트 정수 값이라는 약간 더 많은 정보를 반환한다는 것입니다.
예제 단계는 다음과 같습니다.
고유 토큰이 설정되지 않은 경우 CAS 명령 실행 오류가 발생합니다.
키 키가 존재하지 않으면 실행이 실패합니다.
키-값 쌍을 추가하세요.
gets 명령을 통해 고유 토큰을 가져옵니다.
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
Output
데이터가 성공적으로 추가되면 출력은 다음과 같습니다.
STORED
Output 정보 설명:
STORED : 저장 성공 후 출력됩니다.
ERROR: 저장 오류 또는 구문 오류입니다.
EXISTS: 다른 사용자도 마지막 값 이후에 데이터를 업데이트하고 있습니다.
NOT_FOUND: Memcached 서비스에 키 값이 존재하지 않습니다.