문제

객체 캐싱을 위해 Memcache를 사용하고 있는데 APC와 같은 opcode 가속기를 추가하고 싶습니다.둘 다 캐싱을 포함하기 때문에 "서로의 발가락을 밟을"지 확실하지 않습니다.memcache가 이미 OP 코드 가속기인지 확실하지 않습니다.

누군가 명확히 할 수 있습니까?나는 둘 다 사용하고 싶습니다. 약간 다른 용도로 말이죠.객체 캐싱을 위한 Memcache 및 코드 가속을 위한 APC

도움이 되었습니까?

해결책

네, 동시에 두 가지를 함께 사용할 수 있습니다.

다른 팁

Memcache는 매번 구문 분석할 필요가 없도록 PHP 바이트코드를 메모리에 저장하는 APC 또는 XCache와 비교하여 분산 객체 캐시에 더 가깝습니다.그들의 주요 목적은 다릅니다.

예를 들어 사람들이 자주 요청하는 매우 CPU 집약적인 데이터베이스 쿼리가 있는 경우 해당 쿼리를 항상 다시 실행하는 대신 결과 객체를 Memcache에 캐시한 다음 참조할 수 있습니다.

APC와 XCache에는 유사한 객체 캐싱 기능이 있지만 호스트 시스템으로 제한됩니다.각 서버에 대해 쿼리를 다시 수행할 필요 없이 10개의 서로 다른 서버가 모두 해당 하나의 개체에 액세스할 수 있도록 하려면 어떻게 해야 합니까?Memcache 서버로 연결하면 됩니다.Memcache를 사용하면 나중에 더 많은 상자로 확장해야 할 경우 확장하는 데 도움이 되기 때문에 서버가 하나만 있는 경우에도 여전히 이점을 얻을 수 있습니다.

고려해야 할 주요 사항은 앱의 확장이 필요하다고 생각하는지 여부입니다.Memcache는 APC/Xcache 공유 객체에 대한 함수 호출에 비해 TCP 연결을 사용하여 액세스해야 하기 때문에 더 많은 오버헤드를 갖습니다.

그러나 Memcache에는 다음과 같은 이점이 있습니다.

  • 디스크나 재실행 쿼리보다 빠릅니다.
  • 여러 서버로 확장됩니다.
  • 다양한 언어로 작동하며 개체는 PHP + APC/Xcache에만 고정되지 않습니다.
  • 모든 프로세스/언어는 동일한 개체에 액세스할 수 있으므로 PHP 하위 프로세스에 빈 개체 캐시가 있는지 여부에 대해 걱정할 필요가 없습니다.하지만 PHP-FPM을 실행한다면 이는 큰 문제가 아닐 수도 있습니다.

대부분의 경우 Memcache에 객체를 캐싱하는 것이 훨씬 어렵지 않고 미래에 더 유연하기 때문에 권장합니다.

이 점을 명심하세요. 오직 캐싱 객체에 관해.Memcache는 아니다 바이트코드 또는 PHP 가속 기능이 있으므로 APC 또는 Xcache와 나란히 실행합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top