
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