>  기사  >  데이터 베이스  >  Redis는 원자적 작업을 지원합니까?

Redis는 원자적 작업을 지원합니까?

anonymity
anonymity원래의
2019-06-04 16:30:343725검색

이론적 지식:

Redis 는 고성능 키-값 데이터베이스입니다. Redis의 출현은 memcached와 같은 키/값 저장소의 단점을 크게 보완했으며 일부 상황에서는 관계형 데이터베이스에 대한 매우 좋은 보완 역할을 할 수 있습니다. Java, C/C++, C#, PHP, JavaScript, Perl, Object-C, Python, Ruby, Erlang 및 기타 클라이언트를 제공하므로 사용이 매우 편리합니다.

Atomicity: 트랜잭션은 모두 성공하거나 모두 실패하는 분할할 수 없는 최소 작업 단위입니다.

Redis는 원자적 작업을 지원합니까?

원자적 연산은 비즈니스 로직 중 하나가 분할 불가능해야 함을 의미합니다.

예를 들어, 다른 사람에게 돈을 이체하면 귀하의 계좌에서 돈이 차감되고 다른 사람의 계좌에 돈이 추가됩니다. 이 비즈니스 논리는 원자적이며 이 작업은 성공하거나 수행됩니다. 실패하다.

Redis에서 모든 단일 명령은 원자적으로 실행됩니다.

redis의 트랜잭션 구현 원칙

1. EXEC 명령을 보내기 전에 일괄 작업을 대기열 캐시에 넣습니다.

2. EXEC 명령을 받은 후 트랜잭션에 명령이 입력됩니다. 실행에 실패하면 나머지 명령은 실행되지 않습니다

3. 트랜잭션 실행 과정에서 다른 클라이언트가 제출한 명령 요청은 트랜잭션 실행 명령 시퀀스에 삽입되지 않습니다.

위 내용은 Redis는 원자적 작업을 지원합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.