
SwooleTable::incr 메소드는 key와 value의 증가량을 받는 파라미터를 하나씩 받습니다.
인크먼트 메소드는 key가 중복된 경우, 해당 key의 현재 값을 증가시켜 새로운 값을 반환합니다.
동시성 처리를 위해, SwooleTable은 내부적으로 락을 사용하여 동시 접근을 막습니다.
이러한 락은 쓰레드가 incr 메소드를 호출하는 동안 다른 쓰레드가 호출을 못하게 막습니다.
예를 들어, 다음 코드는 key 'test'의 값을 1씩 증가시키는 예제입니다.
#hostingforum.kr
php
$table = new SwooleTable(1024, 1);
$table->column('test', ['default' => 0]);
$table->incr('test', 1);
주의할 점은, incr 메소드는 key가 존재하지 않으면 기본값으로 초기화된 후 증가시킵니다.
또한, incr 메소드는 쓰레드 안전성을 보장하지만, 너무 많은 쓰레드가 동시에 호출할 경우 성능이 저하될 수 있습니다.
이러한 경우, 적절한 캐싱이나 로컬 변수를 사용하여 성능을 개선할 수 있습니다.
2025-08-09 12:20