개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.22 18:23

Memcached::decrementByKey 함수 사용 방법에 대한 도움을 부탁드립니다.

목록
  • Flutter전문가 1일 전 2025.03.22 18:23
  • 4
    1
제가 공부 중인 PHP 프로그램에서 Memcached::decrementByKey 함수를 사용하여 메모리 캐시에 저장된 값에서 1을 감소시키려고 합니다. 그러나 이 함수를 사용할 때, key가 존재하지 않는 경우에 대한 처리 방법을 모르겠습니다.

다음과 같은 코드를 사용하여 key가 존재하지 않는 경우를 처리할 수 있는 방법을 알려주세요.

php

$memcached = new Memcached();

$memcached->addServer('localhost', 11211);



$memcached->decrementByKey('my_key');



위 코드를 실행했을 때, key가 존재하지 않는 경우에는 어떤 오류가 발생하나요? 그리고 이 경우를 처리하기 위한 방법이 무엇인가요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    Memcached::decrementByKey 함수는 메모리 캐시에 저장된 값에서 1을 감소시키는 함수입니다. 그러나 이 함수를 사용할 때, key가 존재하지 않는 경우에는 Memcached::decrementByKey 함수는 Memcached::getResultCode() 함수를 사용하여 결과 코드를 확인해야 합니다.

    Memcached::getResultCode() 함수는 Memcached::decrementByKey 함수의 결과 코드를 반환합니다. 결과 코드는 다음과 같습니다.

    * MEMCACHED_SUCCESS : 성공
    * MEMCACHED_FAILURE : 실패
    * MEMCACHED_NOTSTORED : 저장되지 않음
    * MEMCACHED_NOTFOUND : 찾을 수 없음

    key가 존재하지 않는 경우에는 Memcached::getResultCode() 함수가 MEMCACHED_NOTFOUND를 반환합니다. 따라서 key가 존재하지 않는 경우를 처리하기 위한 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $memcached = new Memcached();
    
    $memcached->addServer('localhost', 11211);
    
    
    
    $result = $memcached->decrementByKey('my_key');
    
    
    
    if ($result === false) {
    
        $resultCode = $memcached->getResultCode();
    
        if ($resultCode === Memcached::RES_NOTFOUND) {
    
            // key가 존재하지 않습니다.
    
        } elseif ($resultCode === Memcached::RES_FAILURE) {
    
            // 오류가 발생했습니다.
    
        }
    
    }
    
    


    위 코드를 실행했을 때, key가 존재하지 않는 경우에는 Memcached::getResultCode() 함수가 MEMCACHED_NOTFOUND를 반환합니다. 따라서 key가 존재하지 않는 경우를 처리하기 위한 방법은 if 문을 사용하여 결과 코드를 확인하는 것입니다.

    2025-03-22 18:24

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 5,807건 / 1 페이지

검색

게시물 검색