Igbinary

Igbinary

PHP의 기본 직렬화 함수에는 serialize()unserialize()가 있어요. 그런데 이 함수가 만드는 결과는 텍스트 형태라 문자열이 길어지고, memcached나 APCu처럼 메모리 기반 저장소에 잔뜩 넣어 두면 공간이 아깝죠. Igbinary는 이런 고민에서 출발한 확장이에요. 표준 PHP 직렬화 함수를 그대로 대체(drop-in replacement)하는 방식으로 동작해요.

출처: Igbinary

본문

Igbinary는 표준 PHP 직렬화 함수를 그대로 대신 쓸 수 있는 확장이에요. PHP의 serialize()가 쓰는 시간·공간을 많이 차지하는 텍스트 표현 대신, igbinary는 PHP 데이터 구조를 컴팩트한 바이너리(binary) 형태로 저장해요.

memcached, APCu처럼 메모리 기반 저장소에 직렬화 데이터를 보관할 때 절약 효과가 특히 커요. 저장 공간이 보통 약 50% 줄어들어요. 정확한 비율은 데이터에 따라 달라요.

설치·설정(Installing/Configuring)

  • 설치(Installation)
  • 런타임 설정(Runtime Configuration)

Igbinary 함수(Igbinary Functions)

  • igbinary_serialize — 값을 컴팩트하고 저장 가능한 바이너리 표현으로 생성해요(Generates a compact, storable binary representation of a value).
  • igbinary_unserializeigbinary_serialize가 만든 저장 형태에서 PHP 값을 만들어요(Creates a PHP value from a stored representation from igbinary_serialize).

더 알아보기

  • 직렬화의 기본 개념과 serialize()/unserialize()의 동작 방식을 함께 보면 Igbinary가 무엇을 대체하는지 더 빨리 이해할 수 있어요.
  • 실제 저장 크기 절감은 연결한 캐시 저장소(예: memcached, APCu)에서 직접 확인해 보는 것이 좋아요.