이론적 지식:
Redis 는 고성능 키-값 데이터베이스입니다. Redis의 출현은 memcached와 같은 키/값 저장소의 단점을 크게 보완했으며 일부 상황에서는 관계형 데이터베이스에 대한 매우 좋은 보완 역할을 할 수 있습니다. Java, C/C++, C#, PHP, JavaScript, Perl, Object-C, Python, Ruby, Erlang 및 기타 클라이언트를 제공하므로 사용이 매우 편리합니다.
Atomicity: 트랜잭션은 모두 성공하거나 모두 실패하는 분할할 수 없는 최소 작업 단위입니다.
원자적 연산은 비즈니스 로직 중 하나가 분할 불가능해야 함을 의미합니다.
예를 들어, 다른 사람에게 돈을 이체하면 귀하의 계좌에서 돈이 차감되고 다른 사람의 계좌에 돈이 추가됩니다. 이 비즈니스 논리는 원자적이며 이 작업은 성공하거나 수행됩니다. 실패하다.
Redis에서 모든 단일 명령은 원자적으로 실행됩니다.
redis의 트랜잭션 구현 원칙
1. EXEC 명령을 보내기 전에 일괄 작업을 대기열 캐시에 넣습니다.
2. EXEC 명령을 받은 후 트랜잭션에 명령이 입력됩니다. 실행에 실패하면 나머지 명령은 실행되지 않습니다
3. 트랜잭션 실행 과정에서 다른 클라이언트가 제출한 명령 요청은 트랜잭션 실행 명령 시퀀스에 삽입되지 않습니다.
위 내용은 Redis는 원자적 작업을 지원합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!