Я добавляю memcache на свой сайт, и проблема, с которой я сталкиваюсь, заключается в том, что я кеширую объект, поэтому его легко использовать внутри других объектов или страниц.Проблема заключается в том, что я кеширую объект, когда загружаю его, поэтому, если я внес изменение в переменную объекта, он не будет передан на другие страницы.Я что-то упустил или мне действительно нужно сохранить кэшированный объект после всей обработки?
// ON THE PAGE I FIRST CALL
$objState = $gb->objCache->State('1');
echo "Name:" . $objState->get_Name() . "<br>";
$objState->set_Name('New Name');
// ON ANOTHER PAGE I CALL IT AGAIN
$objState = $gb->objCache->State('1');
echo "Name:" . $objState->get_Name() . "<br>";
$objState->set_Name('New Name 2');
// THE FUNCTION THAT I CALL TO GET THE STATE CLASS/OBJECT
function State($id, $reload=false) {
$objState = null;
$cached = false;
if (is_object($this->gb->memcache))
$cached = $this->gb->memcache->get('objState_' . $id . '_' . getCompanyUniqueID());
if ($cached !== FALSE && is_object($cached) && !$reload) {
$objState = $cached;
} else {
$objState = new State($id);
// Store generated XML for 5 minutes (300 seconds)
if (is_object($this->gb->memcache))
$this->gb->memcache->set('objState_' . $id . '_' . getCompanyUniqueID(), $objState, 0, 300); // Don't worry about third argument, it controls compression
}
return $objState;
}