
Memcached::increment 함수는 지정한 키의 현재 값을 1씩 증가시킨 후, 새로운 값을 반환합니다. 그러나 이 함수는 현재 값에 지정한 값을 더하는 것이 아니라, 현재 값을 1씩 증가시킵니다.
예를 들어, 키 'test'의 현재 값이 10이라면, Memcached::increment('test', 5) 함수를 호출하면 현재 값은 15가 아닌 11이 됩니다.
이러한 문제를 해결하기 위한 해결책은 Memcached::increment 함수 대신에 Memcached::add 함수를 사용하는 것입니다.
예를 들어,
php
$memcached = new Memcached();
$memcached->addServer('localhost', 11211);
$memcached->set('test', 10, 0);
$result = $memcached->increment('test', 5);
// 현재 값은 15가 아닌 11이 됩니다.
// Memcached::add 함수를 사용하여 해결합니다.
$memcached->add('test', 15, 0);
또는 Memcached::increment 함수를 사용하여 해결할 수 있습니다.
php
$memcached = new Memcached();
$memcached->addServer('localhost', 11211);
$memcached->set('test', 10, 0);
$result = $memcached->increment('test', 5);
// 현재 값은 15가 아닌 11이 됩니다.
// Memcached::increment 함수를 사용하여 해결합니다.
$memcached->set('test', $result + 5, 0);
이러한 해결책을 사용하면, 키 'test'의 현재 값은 15가 저장됩니다.
2025-06-28 18:29