[REDIS] 레디 스에서 거래 대 파이프 라이닝
REDIS레디 스에서 거래 대 파이프 라이닝
우리가 레디 스에서 트랜잭션을 사용하는 경우, 그것은 기본적으로 모든 파이프 라인 트랜잭션 내에서 명령. EXEC이 발사 될 때, 그때 모든 명령 따라서 항상 여러 명령의 자성을 유지, 함께 실행됩니다.
이 파이프 라인과 동일 아닌가?
어떻게 파이프 라인 및 트랜잭션 다른 무엇입니까? 또한, 왜이 레디 스의 충분할의 단일 스레드 성격합니까? 왜 우리는 명시 적으로 파이프 라인 / 트랜잭션을 필요합니까?
해결법
-
==============================
1.파이프 라이닝은 주로 네트워크 최적화입니다. 그것은 본질적으로 한 번에 서버에 명령과 선박을 잔뜩 최대 클라이언트 버퍼를 의미한다. 명령은 트랜잭션에서 실행되도록 보장되지 않습니다. 여기 장점은 모든 명령에 대한 네트워크 왕복 시간을 절약 할 수있다.
파이프 라이닝은 주로 네트워크 최적화입니다. 그것은 본질적으로 한 번에 서버에 명령과 선박을 잔뜩 최대 클라이언트 버퍼를 의미한다. 명령은 트랜잭션에서 실행되도록 보장되지 않습니다. 여기 장점은 모든 명령에 대한 네트워크 왕복 시간을 절약 할 수있다.
개별 명령이 항상 원하지만, 다른 두 클라이언트로부터 소정의 명령은, 예를 들면 그 사이에 교번 순서로 실행할 수 있도록 레디 스는 단일 스레드이다.
멀티 / 간부는, 그러나, 다른 클라이언트가 멀티 / 간부 인 순서로 명령 사이에 명령을 실행하지 않습니다 보장합니다.
from https://stackoverflow.com/questions/29327544/pipelining-vs-transaction-in-redis by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 시스템이 초기화 시스템 (PID 1)로 systemd로 부팅되지 않았습니다. 작동 할 수 없습니다 (0) | 2020.01.02 |
---|---|
[REDIS] 레디 스 해시 거기에 MGET 아날로그인가? (0) | 2020.01.02 |
[REDIS] 레디 스에서 내가 어떻게 키를 제거하는 방법은 무엇입니까? (0) | 2020.01.02 |
[REDIS] 어떻게 AWS 람다 함수에서 레디 스 인스턴스에 연결해야합니까? (0) | 2020.01.02 |
[REDIS] 레디 스 CLI를 사용하여 명령을 일괄 실행 (0) | 2020.01.02 |