Wymienione produkty służą różnym celom.
Pamięci podręczne OPCode
Istnieje wiele akceleratorów PHP (OPCache) widocznych na tej liście w Wikipedii . Podobnie jak w przypadku produktów open source, wszystkie są dość podobne. XCache jest akceleratorem PHP lighttp i jest domyślnym wyborem podczas uruchamiania tego HTTPd. Działa również dobrze z Apache, jednak APC wydaje się nieco bardziej „dobrze współpracować z innymi” społecznie, oficjalnie wspierany jako część PHP, i jest wydawany wraz z oficjalną dystrybucją PHP.
Porzuciłem usign eAccelerator z powodu jego spowolnienia rozwoju i opóźnień w stosunku do wydań PHP, a oficjalny status błogosławionego APC oferuje z podobną wydajnością.
Te produkty są zazwyczaj dostarczane; bez zmiany kodu natychmiastowe zwiększenie wydajności. Dzięki dużym bazom kodów (Drupal, Wordpress) wydajność może być nawet trzykrotnie lepsza, przy jednoczesnym skróceniu czasu odpowiedzi i zużycia pamięci.
Buforowanie danych
Memcache to nieco inny produkt - możesz myśleć o nim jako o lekkim systemie kluczowej wartości, który można skalować do wielu serwerów . Oprogramowanie musi zostać ulepszone, aby obsługiwać Memcache, i rozwiązuje niektóre problemy lepiej niż inne. Jeśli posiadasz listę wartości akcji w czasie rzeczywistym na swojej stronie internetowej, możesz użyć Memcache do przechowywania listy rezydentów bieżącej wartości wyświetlanej w całej witrynie. Możesz go użyć do przechowywania danych sesji do ponownego użycia w krótkim okresie. Nie używałbyś go do innych celów, takich jak pamięć podręczna na całej stronie lub jako zamiennik MySQL.
Istnieją również dodatki Wordpress, takie jak WP-Super-Cache, które mogą radykalnie poprawić wydajność Wordpress (w rzeczywistości, WP-Super-Cache może konkurować ze statycznymi stronami opartymi na HTML w wielu przypadkach)
Podsumowując - gorąco polecam APC, jeśli chcesz „ustawić i zapomnieć, dobrze obsługiwany produkt”.
[4]: http://
”, aby to naprawić.Dobra odpowiedź została opublikowana na stackoverflow, który ładnie odpowiada na twoje pytanie.
https://stackoverflow.com/questions/28716/which-php-opcode-cacher-should-i-use-to-improve-performance
źródło
APC zostanie wbudowany w PHP6, więc jest to logiczny wybór. Używam go, a wzrost wydajności jest niesamowity. Jeśli potrzebujesz buforować coś innego niż opcodes (np. Wyniki zapytania db), możesz do tego również użyć APC, ale nie można współużytkować pamięci podręcznej APC między wieloma serwerami. Jeśli potrzebujesz buforować tylko na jednym serwerze, APC jest świetny. Jeśli chcesz skalować się na wiele serwerów i chcesz udostępnić pamięć podręczną między nimi, Memcached to twój człowiek.
Jedną rzeczą, którą bym zrobił, to stworzyć klasę opakowania dla każdego buforowania (bez kodu operacyjnego). W ten sposób możesz wymienić silnik buforowania bez zmiany kodu.
źródło
Należy tylko zauważyć, że sytuacja nieco się zmieniła i wydaje się, że APC nie będzie uwzględniony w rdzeniu PHP 6.
APC rozwija się powoli i wygląda na to, że nigdy nie będzie kompatybilny z PHP 5.5. Z tego powodu wygląda na to, że faceci z PHP będą ustawiać rozszerzenie pamięci podręcznej opcode Zend OPCache jako rozszerzenie PHP CORE. Więcej informacji znajdziesz tutaj http://wiki.php.net/rfc/optimizerplus .
Ważna uwaga: Zend OPCache nie ma pamięci podręcznej danych użytkownika, takiej jak APC, więc jeśli potrzebujesz pamięci podręcznej danych użytkownika, możesz użyć jej razem z Memcache.
źródło
Jeśli korzystasz z wersji PHP co najmniej 5.50, najlepszym rozwiązaniem jest OpCache (natywna biblioteka PHP / PECL). Powinien zostać wstępnie skompilowany, jeśli instalujesz z pliku binarnego.
http://php.net/manual/en/book.opcache.php
Jeśli uruchomisz wersję PHP wcześniejszą niż 5.5, APC (natywna pamięć podręczna OpCode PHP / PECL) byłaby najprostszym wyborem, chociaż jest uważana za nieobsługiwaną i martwą:
http://php.net/manual/en/book.apc.php
Korzystanie z natywnej funkcjonalności OpCache PHP powinno zaoszczędzić kłopotów z utrzymywaniem bibliotek stron trzecich.
źródło
Memcache buforuje pary klucz / wartość, a nie kody operacyjne. Możesz użyć go w połączeniu z jedną z pamięci podręcznych opcode.
źródło