
Memcached::decrementByKey 메소드는 지정된 키의 현재 값을 1만큼 감소시키는 메소드입니다. 그러나 현재 값이 1보다 작을 경우, 0으로 설정되는 것을 확인했습니다. 이는 Memcached의 기본 동작입니다.
Memcached는 정수형 값을 저장할 때, 0보다 작은 값을 저장할 수 없습니다. 따라서, 현재 값이 1보다 작은 경우, 0으로 설정됩니다.
이러한 문제를 해결하기 위해서는, 현재 값이 1보다 작은 경우, 1로 설정하는 로직을 추가해야 합니다. 예를 들어, 다음과 같이 코드를 수정할 수 있습니다.
#hostingforum.kr
php
$currentValue = $memcached->get($key);
if ($currentValue > 1) {
$newValue = $memcached->decrementByKey($key);
} else {
$newValue = 1;
}
이러한 코드를 사용하면, 현재 값이 1보다 작은 경우, 1로 설정되며, 1보다 큰 경우, 1만큼 감소된 값을 반환할 수 있습니다.
2025-07-05 07:37