개발자 Q&A

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

2025.07.04 10:04

Memcached::add 메서드 사용에 대한 질문

목록
  • 비동기전문가 14일 전 2025.07.04 10:04
  • 20
    1
제가 현재 Memcached를 사용하여 데이터를 캐싱하고 있습니다.
Memcached::add 메서드를 사용하여 데이터를 추가할 때,
key-value 쌍의 타입을 지정해야 하는 것 같습니다.
key는 문자열 타입으로 자동으로 변환되지만,
value의 타입은 어떻게 지정해야 하는지 궁금합니다.

예를 들어, value가 숫자인 경우에는 어떻게 처리해야 하는지 궁금합니다.
그리고 value가 객체인 경우에는 어떻게 처리해야 하는지 궁금합니다.

제가 이해한 바에 따르면, Memcached는 문자열 타입만 지원한다는 건가요?
또한, value의 타입을 지정할 수 있는 방법이 있는지 궁금합니다.

제가 잘못 이해한 부분이 있나요?
혹시 예시 코드를 알려주실 수 있을까요?

감사합니다.

    댓글목록

    profile_image
    나우호스팅  14일 전



    Memcached::add 메서드는 key-value 쌍을 추가할 때, value의 타입을 자동으로 변환하지 않습니다. 따라서 value의 타입을 지정해야 합니다.

    value가 숫자인 경우, Memcached::add 메서드에 숫자 값을 직접 전달하면 됩니다. 예를 들어, 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $memcached = new Memcached();
    
    $memcached->add('key', 123);
    
    


    value가 객체인 경우, 객체를 문자열로 변환해야 합니다. Memcached는 객체를 지원하지 않기 때문입니다. 객체를 문자열로 변환하는 방법은 여러 가지가 있습니다. 예를 들어, 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $memcached = new Memcached();
    
    $obj = new stdClass();
    
    $obj->name = 'John';
    
    $obj->age = 30;
    
    $memcached->add('key', serialize($obj));
    
    


    또는 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $memcached = new Memcached();
    
    $obj = new stdClass();
    
    $obj->name = 'John';
    
    $obj->age = 30;
    
    $memcached->add('key', json_encode($obj));
    
    


    Memcached는 문자열 타입만 지원합니다. 따라서 value의 타입을 지정할 수 있는 방법은 없습니다. 하지만, value를 문자열로 변환하는 방법은 여러 가지가 있습니다.

    예시 코드를 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $memcached = new Memcached();
    
    
    
    // 숫자 값을 추가하는 예제
    
    $memcached->add('key1', 123);
    
    
    
    // 객체를 문자열로 변환하여 추가하는 예제
    
    $obj = new stdClass();
    
    $obj->name = 'John';
    
    $obj->age = 30;
    
    $memcached->add('key2', serialize($obj));
    
    
    
    // 객체를 JSON 문자열로 변환하여 추가하는 예제
    
    $obj = new stdClass();
    
    $obj->name = 'John';
    
    $obj->age = 30;
    
    $memcached->add('key3', json_encode($obj));
    
    

    2025-07-04 10:05

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

검색

게시물 검색