Example #1
0
    foreach ($arr as $key) {
        $r[$key] = array('_id' => $users[$key]->id, date('h:i:s A'));
    }
    return $r;
}
$toFill = array();
$keys = array_keys($users);
$slots = Cacher::create('Test', $keys);
$CacheData = array();
//echo "<hr><pre>";var_export($slots);echo '</pre><hr>'; exit;
foreach ($slots as $key => $slot) {
    if (!($CacheData[$key] = $slot->get())) {
        $toFill[] = $key;
    }
}
$rez = GetFromAnyExternal($toFill, $users);
foreach ($toFill as $key) {
    //$slot->addTag(Cacher_Tag::create('SmplTag',  $User)); // Создаем и сразуже добавляем новый тег к слоту перед сохрананеием в кеш
    //$slot->addTag(Cacher_Tag::create('SmplTag1', $User)); // Создаем и сразуже добавляем новый тег к слоту перед сохрананеием в кеш
    //echo "<hr>setTag: ", Cacher_Tag::create('SmplTag', $key)->getKey();
    //$slots[$key]->addTag( Cacher_Tag::create('SmplTag', $key) );
    //sleep(1);// hard data
    $val = $rez[$key];
    echo "<br><font color=blue>to cache({$key})</font><br>";
    $slots[$key]->set($val);
    $CacheData[$key] = $val;
}
//Cacher_Tag::create('SmplTag', 50)->clear();
//$slots[10]->del();
echo "<hr><pre>";
var_export($slots);
Example #2
0
    public $id;
    function __construct($id = 5)
    {
        $this->id = $id;
        //rand(1,20000);
    }
}
function GetFromAnyExternal(User $User)
{
    return array('username', 'userid' => $User->id, date('h:i:s A'));
}
$User = new User();
//Cacher::Slot('User',$User);
$slot = Cacher::create('Test', $User->id);
if (false === ($CacheData = $slot->get())) {
    $CacheData = GetFromAnyExternal($User);
    // Получаем данные из внешнего хранилища
    //$slot->addTag(Cacher_Tag::create('SmplTag',  $User)); // Создаем и сразуже добавляем новый тег к слоту перед сохрананеием в кеш
    //$slot->addTag(Cacher_Tag::create('SmplTag1', $User)); // Создаем и сразуже добавляем новый тег к слоту перед сохрананеием в кеш
    //Cacher_Tag::create('SmplTag', $User)->getKey();
    //$slot->addTag( Cacher_Tag::create('SmplTag', 'dfg') );
    //sleep(1);// hard data
    echo '<hr><font color=blue>to cache</font><hr>';
    $slot->set($CacheData);
    // Кешируем данные
}
//$slot->del();
//Cacher_Tag::create('SmplTag',$User)->clear();
//Cacher::newTag('SmplTag1',$User)->clear();
//Cacher::newTag('AniTagData2',AniTagDataObj1)->clear()        // Очищаем кеш тега
echo '<hr>Cached data:<pre>';