복붙노트

[REDIS] 이전의 것들에 의존하는 파이프 라인의 여러 명령을 레디 스 수 있습니까?

REDIS

이전의 것들에 의존하는 파이프 라인의 여러 명령을 레디 스 수 있습니까?

나는 레디 스에 아주 아주 새로운 아직도 그것으로 주위를 연주 해요. 내 프로젝트에 자사의 관련 있는지 테스트 할하지만 난 실행 해요 특정 명령에 대해 확실하지 않다. SO의 사용자는 내가이 작업을 수행하는 방법을 물어 줄 알았는데, 그래서 나를 파이프 라인 및 트랜잭션을 사용하는 성능상의 이점을 확신 가지고있다.

기본적으로 난 그냥 문제에 원하는 두 개의 문이 있고 결과를 기다릴 필요가 없습니다 (파이프 라이닝에 대한 좋은 후보처럼 보인다 그것은 다음과 같다. :

Does valueX exist?
If it does insert valueY

그것의 아주 간단하지만 난 그것으로 찾고있다 지금까지 모든 방법은 ValueX이있는 경우에 대한 응답을 기다리는 것, 그리고 내 프로그램의 억 루프를 통해하고 있어요 있기 때문에 중단을 갈기.

이게 가능해? 도움이된다면 나는 자바를 사용하고 있지만, 이는 클라이언트 라이브러리 (jedis 또는 jredis, 여전히 테스트) 정착하지 않았습니다. 난 사실조차 완전히 레디 스에 정착하지만, 어떤 제안이 수용 그래서 그것을 향해 매우 심하게 기울고, (나는 현명한 속도가 뭘하는지에 대한 좋은 것) 아니에요.

해결법

  1. ==============================

    1.아니, 순간 같은 일을 수행 할 수 없습니다. 당신이 추구하는 순간없는 기능이지만, 레디 스의 2.6 버전을 사용할 수 있습니다. 그것은 LUA 스크립트라고. 당신은 클라이언트에서 그들을 가져올 필요없이, 모든 일에, 이전 명령의 의존하는 서버의 명령을 실행할 수 있습니다. 자세한 내용은 자세한 내용은 여기를 참조하십시오.

    아니, 순간 같은 일을 수행 할 수 없습니다. 당신이 추구하는 순간없는 기능이지만, 레디 스의 2.6 버전을 사용할 수 있습니다. 그것은 LUA 스크립트라고. 당신은 클라이언트에서 그들을 가져올 필요없이, 모든 일에, 이전 명령의 의존하는 서버의 명령을 실행할 수 있습니다. 자세한 내용은 자세한 내용은 여기를 참조하십시오.

  2. from https://stackoverflow.com/questions/9612743/can-redis-pipeline-multiple-commands-that-depend-on-previous-ones by cc-by-sa and MIT license