[PHP] PHP8 WeakMap 미리 알아보기


[PHP] PHP8 WeakMap 미리 알아보기

WeakMap란? # 일반적인 사용 사례는 데이터를 강제로 유지하지 않고 개별 개체 인스턴스와 연결하여 장기 실행 프로세스에서 메모리를 효과적으로 관리하는 것입니다. 예를 들어, 약한 맵을 사용하여 계산 결과를 메모 할 수 있습니다. 예제 # 이것은 각 객체에 대해 한 번만 computeSomethingExpensive() 메서드를 호출합니다. 동시에 객체가 파괴되면 맵에서 캐시 된 값도 삭제합니다. 일반 배열(또는 오히려 SplObjectStorage)로 동일한 작업을 수행하면 "메모리 누수가 발생"합니다. class FooBar { private WeakMap $cache; public function getSomethingWithCaching(object $obj) { return $this->cache[$obj] ??= $this->computeSomethingExpensive($obj); } // ... } 참고 링크 PHP: rfc:weak_maps PHP RFC: Wea...



원문링크 : [PHP] PHP8 WeakMap 미리 알아보기