Полная альтернатива кешу пользовательских данных 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). Это без блокировки, что может привести к:
- лучшая производительность
- получение неожиданных данных в определенных ситуациях
Если ваше приложение может терпеть (2) или построено таким образом, что это не проблема, то YAC кажется хорошей альтернативой.
APC User-Cache подходит для сред с высокой нагрузкой? также имеет хорошую информацию о некоторых проблемах APCu и о том, почему YAC может решить некоторые из этих проблем.
Существует также интересная дискуссия о кэшировании php на reddit: http://www.reddit.com/r/PHP/comments/1k2w45/the_future_of_caching_in_php/