Sven Rautenberg: APC - shared cache

Beitrag lesen

Moin!

in einer nginx/php-fpm Umgebung würde ich gerne PHP's APC Cache nutzen, um nicht nur sehr schnell sondern auch "gemeinsam" auf Variablen zugreifen zu können.
Mit den children/worker Prozessen, wie sie php-fpm dynamisch verwaltet, bin ich mir nicht sicher, ob der Speicher ohne weiteres für alle Prozesse zur Verfügung steht oder am Ende mehrere voneinander getrennt (verwaltete) Speicher entstehen.

Hat PHP für diesen Anwendungsfall eine sichere Lösung?

Wenn du eine Lösung auch für die Zukunft haben willst, solltest du APC nicht mehr nehmen. APC wird ab PHP 5.5 nicht mehr existieren, denn das wichtigste Feature, der Opcode-Cache, wird jetzt von PHP direkt mitgeliefert, allerdings ist es der Zend Optimizer. Dieser hat allerdings keinen Userland-Cache.

Nimm was aktuelles: Memcached, Redis oder jeden sonstigen Memory-Cache.

Übrigens ist "gemeinsam auf Variaben zugreifen" ein problematisches Szenario, denn Variablen werden irgendwann mal verändert müssen dann bei allen aktualisiert werden - und das erfordert immer irgendeine Art von Locking oder sonstigem Tracking der Veränderung. Es ist also mindestens mal sehr kompliziert. Was genau hattest du dir denn da drunter vorgestellt?

- Sven Rautenberg