- Ubuntu 10.10
- Apache 2.2.17
- PHP 5.3.4
- APC 3.1.6
- Memcache 3.0.5
Код:
<?php
$cache = new Memcache();
$cache->connect('localhost', 11211);
$num = 1;
if (($a = $cache->get('key')) !== false) $num = $a;
$num += 1;
$cache->set('key', $num);
echo $num;
Вывод (при трех последовательных обновлениях сразу после перезагрузки Apache):
2
тогда
5
тогда
8
Вопрос: почему? Я ожидаю 2
, 3
, 4
. Кажется, что первая страница получилась, но последующие загрузки страниц всегда увеличивают в три раза больше, чем число, которое я фактически добавляю. Другими словами, если я напишу
$num += 10;
Тогда цифры выходят 11
, 41
, 71
. Что я делаю неправильно? Я неправильно настроил APC или Memcache? Я уверен, что проблема в APC, но если бы я точно знал, в чем проблема, я бы не стал спрашивать!
Обновление: Apache access_log показывает 3 разных запроса для каждой загрузки страницы, когда это происходит.