개발자 Q&A

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

2025.04.28 08:52

Memcached::replaceByKey 메서드 사용 시 오류 해결 방법

목록
  • API연금술사 1일 전 2025.04.28 08:52
  • 14
    1
저는 PHP로 Memcached를 사용 중인데, `Memcached::replaceByKey` 메서드를 사용하여 캐시를 교체하려고 합니다. 하지만 `replaceByKey` 메서드의 첫 번째 인자로 `key`를 전달할 때, 반드시 `key`가 존재해야 하는지 궁금합니다. 만약 `key`가 존재하지 않으면 어떻게 동작할까요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    `Memcached::replaceByKey` 메서드는 지정된 키에 대한 캐시 항목을 교체합니다. 이 메서드의 첫 번째 인자로 `key`를 전달할 때, `key`가 존재하지 않으면 `Memcached` 서버는 `NOT_FOUND` 오류를 반환합니다.

    이러한 오류를 해결하려면, `key`가 존재하는지 확인한 후에 `replaceByKey` 메서드를 호출하는 것이 좋습니다.

    예를 들어, 다음과 같이 `get` 메서드를 사용하여 `key`가 존재하는지 확인하고, 존재하지 않으면 `set` 메서드를 사용하여 캐시 항목을 생성한 후에 `replaceByKey` 메서드를 호출할 수 있습니다.

    #hostingforum.kr
    php
    
    $memcached = new Memcached();
    
    $memcached->addServer('localhost', 11211);
    
    
    
    $key = 'example_key';
    
    $value = 'example_value';
    
    
    
    if ($memcached->get($key)) {
    
        $memcached->replaceByKey($key, $value);
    
    } else {
    
        $memcached->set($key, $value);
    
    }
    
    


    또는, `replaceByKey` 메서드의 두 번째 인자로 `null`을 전달하여 `key`가 존재하지 않더라도 오류를 무시할 수 있습니다.

    #hostingforum.kr
    php
    
    $memcached = new Memcached();
    
    $memcached->addServer('localhost', 11211);
    
    
    
    $key = 'example_key';
    
    $value = 'example_value';
    
    
    
    $memcached->replaceByKey($key, $value, 0, 0, MEMCACHED_ADD); // MEMCACHED_ADD 옵션을 사용하여 key가 존재하지 않더라도 오류를 무시합니다.
    
    

    2025-04-28 08:53

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

검색

게시물 검색