Полная альтернатива кэшу пользовательских данных APC для PHP?

У меня большой сайт сильно зависит от APC, в основном храня пользовательские данные с помощью функций apc_add и apc_fetch.

Кажется, что APC не полностью совместима с PHP 5.4 и что PHP 5.5 построил в Zend OPcache. Какую альтернативу я должен заменить apc_add и apc_fetch?

Пожалуйста, не упоминайте memcached, я уже использую его, но он не подходит для прямой замены APC, потому что я делаю много вызовов apc_fetch, потому что APC намного быстрее, чем memcached для этой цели.

Спасибо за любые предложения и помощь.

Изменить: я думал, что предлагаемый APCu - хороший выбор, однако он имеет те же проблемы со стабильностью (PHP segfaults)... Есть ли другая альтернатива, как хранить данные локального пользователя?

Ответ 1

Если кто-то задается вопросом, что я сделал, теперь я использую XCache. Это, безусловно, не идеально - в основном из-за его очень слабой (если вообще вообще) документации. Но он стабилен, поддерживается и работает так, как ожидалось, поэтому сейчас довольно хорошая замена APC.

Ответ 2

Существует APCu, пользовательский кеш APC: http://pecl.php.net/package/APCu

Он содержит только часть кэша пользователя, с apcu_* функциями вместо apc_*.

Ответ 3

YAC - еще одна альтернатива (https://github.com/laruence/yac). Он заблокирован, что может привести к:

  • лучшая производительность
  • получение непредвиденных данных в определенных ситуациях

Если ваше приложение может терпеть (2) или создано таким образом, что это не проблема, то YAC кажется хорошей альтернативой.

Пользовательский кэш APC подходит для сред с высокой нагрузкой? также имеет хорошую информацию о некоторых проблемах APCu и почему YAC может решить некоторые из этих проблем.

Также есть интересная дискуссия о кэшировании php на reddit: http://www.reddit.com/r/PHP/comments/1k2w45/the_future_of_caching_in_php/