
`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