Полная альтернатива кешу пользовательских данных 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)... Есть ли другая альтернатива, как хранить данные локального кэша пользователя?

3 ответа

Решение

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

Есть APCu, кеш пользователя APC: http://pecl.php.net/package/APCu

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

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

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

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

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

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

Другие вопросы по тегам