찾다

 >  Q&A  >  본문

php - Redis의 incr과 incrBy의 차이점

온라인에서 차이점에 대해 읽었습니다.

하지만 직접 시도해 보니 incr도 다음과 같을 수 있다는 것을 알았습니다. incrby 그렇게 증가량을 지정하면 별 차이가 없을 것 같은 느낌이 듭니다. 아래 사진은 제가 테스트한 결과입니다.

PHP中文网PHP中文网2773일 전1131

모든 응답(4)나는 대답할 것이다

  • 阿神

    阿神2017-05-16 13:06:35

    다음은 Redis 소스 코드입니다. 실제로 incr과 incrBy의 기본 구현은 일치하지만 incrBy는 매개변수 확인이 필요합니다

    으아악

    여기서 incr은 숫자 매개변수를 지원하지 않는다는 것을 알 수 있습니다.

    그런데 $redis가 PHP에서 지원되는 이유는 무엇인가요? 아마도 이 라이브러리의 맨 아래 레이어는 redis

    의 incrBy 명령을 사용하는 것 같습니다.

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-05-16 13:06:35

    지금 소스코드가 잘못 게시되었으니 수정해주세요


    phpredis 확장 프로그램의 소스코드를 살펴보면 2.0.9부터 호환이 될 것 같습니다.

    incr을 호출할 때 선택적으로 긴 유형의 숫자를 가져오세요. 숫자가 1이 아닌 경우 incrby를 호출하세요.

    그런데 incrBy를 사용할 때 다음 매개변수가 1이면 incr이 호출됩니다.

    으아악

    회신하다
    0
  • 習慣沉默

    習慣沉默2017-05-16 13:06:35

    http://redisdoc.com/string/in...
    http://redisdoc.com/string/in...
    redis 내부 실행도 다른가요? incr를 사용하여 매개변수를 전달하는 경우 지정된 횟수만큼 매개변수를 실행해야 합니다
    하지만 incrby를 사용하면 한 번의 계산만 수행하면 되므로 다시 확인해야 합니다

    회신하다
    0
  • PHPz

    PHPz2017-05-16 13:06:35

    테스트 후 차이점을 볼 수 없으며 실행 시간도 동일하며 여러 번 실행되는 증분도 없습니다. 23000000000000000000000000000이라는 숫자를 여러번 실행하면 확실히 일정시간이 걸리겠지만 IncrBys와 같은 시간이 걸립니다

    회신하다
    0
  • 취소회신하다