Memcached 클라이언트 라이브러리는 최근에 안정적으로 릴리스되었습니다. 그것은 사용중인 디그 와 구현 훨씬 더의 (지금은 더 이상 디그와 안드레이 Zmievski에 의해 디그 개발되지 않았다) memcached와 프로토콜 이전 memcache에 클라이언트보다. memcached의 가장 중요한 기능은 다음과 같습니다.
- CAS 토큰 . 이로 인해 제 인생이 훨씬 쉬워졌고 오래된 데이터를 쉽게 예방할 수있는 시스템입니다. 캐시에서 무언가를 가져올 때마다 cas 토큰 (더블 번호)을받을 수 있습니다. 해당 토큰을 사용하여 업데이트 된 객체를 저장할 수 있습니다. 스레드가 실행되는 동안 다른 사람이 값을 업데이트하지 않으면 스왑이 성공합니다. 그렇지 않으면 최신 cas 토큰이 작성되고 데이터를 다시로드하고 새 토큰으로 다시 저장해야합니다.
- 얇게 썬 빵부터 콜백을 읽는 것이 가장 좋습니다. 내 코드의 대부분을 단순화했습니다.
- getDelayed () 는 스크립트가 결과가 서버에서 되돌아 오기를 기다리는 시간을 줄일 수있는 유용한 기능입니다.
- memcached 서버는 매우 안정적이지만 가장 빠르지는 않습니다. 최신 클라이언트에서는 ASCII 대신 이진 프로토콜을 사용할 수 있습니다.
- 복잡한 데이터를 memcached에 저장할 때마다 클라이언트는 항상 값의 직렬화를 수행하는 데 사용되지만 속도가 느리지 만 이제 memcached 클라이언트에서는 igbinary 를 사용할 수 있습니다 . 지금까지 나는 이것이 얼마나 많은 성능을 얻을 수 있는지 테스트 할 기회가 없었습니다.
이 모든 점은 최신 클라이언트로 전환하기에 충분했으며 그것이 매력처럼 작동한다고 말할 수 있습니다. libmemcached 라이브러리 에 대한 외부 종속성이 있지만 그럼에도 불구하고 Ubuntu 및 Mac OSX에 설치했지만 지금까지 아무런 문제가 없습니다.
최신 라이브러리로 업데이트하기로 결정한 경우 최신 서버 버전으로 업데이트하고 멋진 기능도 제공하는 것이 좋습니다. 컴파일 하려면 libevent 를 설치해야 하지만 우분투에서는 큰 문제가되지 않았습니다.
지금까지 프레임 워크가 새로운 memcached 클라이언트를 선택하는 것을 보지 못했지만 (내가 추적하지는 않지만) Zend 가 곧 출시 될 것이라고 가정 합니다.
최신 정보
Zend Framework 2에는 Memcached 용 어댑터가 있습니다.