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

Trustmaster
#33318 2012-02-27 16:42

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

PHP
1
2
3
4
5
6
7
8
9
10
11
12
// получаем из кеша
$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'. Тогда код упрощается до:

PHP
1
2
3
4
5
6
7
8
9
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!