Форумы / National / Russian / Модули и плагины / Кеширование

Trustmaster
#33318 27.02.2012 16:42

Если значение используется не в каждом запросе, то:

// получаем из кеша 
$my_array = $cache->db->get('my_array', 'myplugin');

if (is_null($my_array))
{
    // кеш пуст, надо обновить
    $my_array = get_my_array_somehow();
    $cache->db->store('my_array', $my_array, 'myplugin', 1200);
    // время жизни - 1200 секунд
}

// здесь используем $my_arrray

Если значение нужно загружать практически каждый раз, то можно добавить его в автозагрузку, использовав пространство 'system'. Тогда код упрощается до:

if (is_null($my_array))
{
    // кеш пуст, надо обновить
    $my_array = get_my_array_somehow();
    $cache->db->store('my_array', $my_array, 'system', 1200);
    // время жизни - 1200 секунд
}

// здесь используем $my_arrray
May the Source be with you!