
Memcached::touchByKey 함수는 cache key가 존재할 때만 메모리 캐시의 만료 시간을 갱신합니다. cache key가 존재하지 않을 경우, 함수는 아무런 예외도 발생시키지 않고 그냥 종료됩니다.
cache key가 존재하지 않을 경우, 메모리 캐시의 만료 시간을 갱신하는 방법은 두 가지가 있습니다.
1. cache key가 존재하지 않을 경우, cache key를 생성하여 메모리 캐시에 저장 : cache key가 존재하지 않을 경우, cache key를 생성하여 메모리 캐시에 저장한 후, Memcached::touchByKey 함수를 사용하여 메모리 캐시의 만료 시간을 갱신할 수 있습니다. 이 방법은 cache key가 존재하지 않을 경우, 새로운 cache key를 생성하여 메모리 캐시에 저장하는 방식입니다.
2. cache key가 존재하지 않을 경우, 메모리 캐시의 만료 시간을 갱신하지 않음 : cache key가 존재하지 않을 경우, 메모리 캐시의 만료 시간을 갱신하지 않고 그냥 종료할 수 있습니다. 이 방법은 cache key가 존재하지 않을 경우, 메모리 캐시의 만료 시간을 갱신하지 않는 방식입니다.
메모리 캐시의 만료 시간을 갱신하는 가장 효율적인 방법은 cache key가 존재할 때만 메모리 캐시의 만료 시간을 갱신하는 것입니다. cache key가 존재하지 않을 경우, 메모리 캐시의 만료 시간을 갱신하지 않으면, 메모리 캐시의 자원을 절약할 수 있습니다.
예제로 설명하면 다음과 같습니다.
#hostingforum.kr
php
$memcached = new Memcached();
$memcached->addServer('localhost', 11211);
// cache key가 존재하지 않을 경우, cache key를 생성하여 메모리 캐시에 저장
$cacheKey = 'test_key';
$memcached->set($cacheKey, 'test_value', 60); // 60초 동안 유효
// cache key가 존재할 때만 메모리 캐시의 만료 시간을 갱신
$memcached->touchByKey($cacheKey, 60); // 60초 동안 유효
// cache key가 존재하지 않을 경우, 메모리 캐시의 만료 시간을 갱신하지 않음
$memcached->touchByKey('non_existent_key', 60); // 아무런 예외도 발생하지 않음
위 예제에서는 cache key가 존재하지 않을 경우, cache key를 생성하여 메모리 캐시에 저장하고, cache key가 존재할 때만 메모리 캐시의 만료 시간을 갱신하는 방법을 사용했습니다.
2025-06-22 18:06