Недокументированные особенности APC
То, о чём молчит официальное руководство
APC (он же Alternative PHP Cache) — бесплатное расширение к PHP, предназначенное для оптимизации промежуточного кода и кэширования данных и компилированного байт-кода в разделяемой памяти.
Я заинтересовался APC с позиции его возможного применения в плагине WP File Cache, но при реализации модуля столкнулся с некоторыми особенностями (читай: ошибками), о которых документация умалчивает.
Пример 1.
$data->int = 1;
$data->string = "string";
apc_store('test', $data);
var_export(apc_fetch('test'));
apc_delete('test');
Результат:
Теперь попробуем то же самое, но поместим объект в массив:
$data->int = 1;
$data->string = "string";
$arr = array($data);
apc_store('test', $arr);
var_export(apc_fetch('test'));
apc_delete('test');
Я ожидал что-то такое:
Получилось хуже:
Как оказалось, APC не умеет проводить сериализацию объектов, если они обёрнуты в массивы. Обидно, я хотел сэкономить на дорогом вызове serialize().
Данная ошибка существует в APC 3.0.19. Эх…
Автор: Vladimir; опубликовано в: PHP; метки: APC, PHP, кэш, ошибкаДек
2008
Комментарии к статье «Недокументированные особенности APC» »
Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.
Оставить комментарий к записи «Недокументированные особенности APC»
गते गते पारगते पारसंगते बोधि स्वाहा
Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.

