Кэш PHP APC не работает на 100%

Я нашел некоторую проблему. Когда я запускаю apc_store и более раз, обновляю страницу (обновляю). APC сохраняет предыдущее значение и не сохраняет обновленное значение.

Это следующий код:

<?php for($i=0;$i<5;$i++) { apc_store('test', $i); echo apc_fetch('test'); } ?>

Истинный результат: 1,2,3,4,5

Но иногда у меня есть: 5,5,5,5,5

Почему и как я могу исправить эту ошибку?

Версия Apc последняя: 3.1.9


person user1235098    schedule 21.03.2012    source источник


Ответы (2)


Из руководства: apc_store

Возвращает TRUE в случае успеха или FALSE в случае неудачи.

Проверьте это, может быть, что он не сохраняет. Почему apc_store() возвращает false?

person Karoly Horvath    schedule 21.03.2012

Я думаю, вы просто слишком быстры, поэтому вы получите устаревшее значение из предыдущего выполнения. Помните, что это кеш, а не постоянная глобальная переменная. Дело в том, что вы обычно сохраняете данные в один ключ только один раз во время запроса и будете пытаться получить его в любом последующем запросе, но не в текущем.

Кажется, вы ищете переменные.

person KingCrunch    schedule 21.03.2012
comment
Спасибо за ответ, но какая альтернатива? - person user1235098; 21.03.2012
comment
Переменная представляет собой дерево объектов (экземпляры классов). Объекты обновляются через ajax. - person user1235098; 21.03.2012