
Memcached::replaceByKey 메서드는 기존의 캐시를 삭제하고 새로운 값을 저장하는 것이 아닙니다.
replaceByKey 메서드는 기존의 캐시가 존재하는 경우에만 새로운 값을 덮어씌우고, 존재하지 않는 경우에만 새로운 값을 저장합니다.
기존의 캐시를 삭제하고 새로운 값을 저장하려면 deleteByKey 메서드를 사용하여 기존의 캐시를 삭제한 후에 set 메서드를 사용하여 새로운 값을 저장해야 합니다.
예제 코드는 다음과 같습니다.
#hostingforum.kr
php
$memcached = new Memcached();
$memcached->addServer('localhost', 11211);
// 기존의 캐시를 삭제하고 새로운 값을 저장
$memcached->deleteByKey('key');
$memcached->set('key', '새로운 값');
또는 다음과 같이 사용할 수도 있습니다.
#hostingforum.kr
php
$memcached = new Memcached();
$memcached->addServer('localhost', 11211);
// 기존의 캐시를 삭제하고 새로운 값을 저장
$memcached->replaceByKey('key', '새로운 값');
이 경우 replaceByKey 메서드는 기존의 캐시가 존재하는 경우에만 새로운 값을 덮어씌우고, 존재하지 않는 경우에만 새로운 값을 저장합니다.
기존의 캐시가 존재하는지 확인하려면 get 메서드를 사용하여 캐시의 값을 조회할 수 있습니다.
#hostingforum.kr
php
$memcached = new Memcached();
$memcached->addServer('localhost', 11211);
// 기존의 캐시가 존재하는지 확인
if ($memcached->get('key')) {
echo '기존의 캐시가 존재합니다.';
} else {
echo '기존의 캐시가 존재하지 않습니다.';
}
2025-07-05 11:56