У меня возникла проблема с PHP для локального хранения промежуточного результата.PHP apc/apcu cache не сохраняет промежуточный результат, пока shmop делает, почему?
С APC
:
apc_store("foo", "bar");
$ret = apc_fetch("foo");
С APCu
:
apcu_store("foo", "bar", 0);
$ret = apcu_fetch("foo");
храню с apc_store/apcu_store под php_cli на PHP скрипт, и принести с apc_fetch/apcu_fetch на другой PHP скрипт, и найти $ret
будет пустым.
Хотя, с shmop
:
$shmKey = ftok(__FILE__, 't');
$shmId = shmop_open($shmKey, "c", 0644, 1024);
$dataArray = array("foo" => "bar");
shmop_write($shmId, serialize($dataArray), 0);
$retArray = unserialize(shmop_read($shmId, 0, shmop_size($shmId)));
$ret = $retArray['foo'];
Здесь я получаю $ret
: "bar"
.
Не следует ли кэшировать промежуточный результат локально, как shmop
?
Спасибо за очень четкое объяснение. – lulyon