Zend Cache Howto PHP - PullRequest
       8

Zend Cache Howto PHP

1 голос
/ 22 декабря 2009

Как я могу выполнить следующие задачи

public function addToCache($id,$items)
{
 // in zend cache
}

public function getFromCache($id)
{
 // in zend cache
}

Первый метод должен взять идентификатор и элементы, которые должны быть кэшированы.

Второй метод должен просто взять идентификатор кэшированногообъект, и должен возвращать содержимое кэша этого идентификатора элемента.

Я хочу иметь возможность сделать что-то подобное;

public function getItems()
{
   if(!$this->cache->getFromCache('items'))
   {
       $this->addToCache('items',$this->feeds->items());
       return $this->cache->getFromCache('items');
   }

}

Как я могу сделать оба метода в Zendкеш?

Ответы [ 2 ]

3 голосов
/ 22 декабря 2009

Все для начала находится в Zend Docs . Вам нужно немного покопаться и освоиться, это не "быстрый способ сделать это" тип области.

Но общая проверка кэша выглядит следующим образом:

$cache = /*cache object*/
if ( !($my_object = unserialize($cache->load('cache_key'))) ) {
  $my_object = /*not found so initialize your object*/
  $cache->save(serialize($my_object)); // magically remembers the above 'cache_key'
}

$my_object->carryOnAsIfNothingStrangeJustHappenedThere();
2 голосов
/ 22 декабря 2009

Если вы уже настроили экземпляр Zend_Cache и имеете доступ к нему через локальную переменную $this->cache, ваши функции будут реализованы как:

function getFromCache($key) { return $this->cache->load($key); }
function addToCache($key,$value) { $this->cache->save($key,$value); } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...