все форумы все темы добавить тему
Кеширование
Вопрос не столько глупый, сколько больной
Сначала немного теории.
Кэш используется в трех местах:
1. Кэширование объектов
2. Кэширование результатов запросов к БД
3. Кэширование готового html
 
Кэширование объектов стоит немного особняком по причине того, что оно обнуляется отдельно от остального кэша, имеет очень простую структуру, не требует какого-то сложного управления (проверка валидности и т.п.), не должно вытесняться при использовании "умной" системы кэширования, кроме того, инициализация этого кэша происходит еще до инициализации всех прочих классов. В общем, это оправдание существованию этого класса.
 
Со следующими двумя вариантами ситуация такая: по умолчанию, результаты кэшируются в файлах, но общую систему кэширования и для шаблонизатора и для БД сделать не получается, так как smarty имеет собственную развитую системы кэширования на файлах, которая глубок заточена под его собственные нужды.
Класс же БД использует универсальную файловую систему кэширования.
 
При переходе к кэшированию в memcache и БД и Smarty используют универсальную систему кэширования. Первая - потому что она все время так делает Вторая - потому что не умеет работать с memcache "из коробки"  и научена этому путем допиливания, о котором я уже писал.
 
Вот поэтому существует три места, где можно сохранить данные:
Если данные нужны в пределах узла - можно сохранить их в массиве LabCMS::i()->cache
Этот вариант неудобен тем, что там нет никаких проверок, так что проверку актуальности придется проводить самому. Зато, это очень просто.
 
Вариант второй. Сохранять готовый html блок с помощью стандартных средств Smarty. Этот вариант совсем замечательный, но только в том случае, если надо кэшировать html.
 
И третий вариант - использовать один из классов кэширования, находящихся по адресу /kernel/classes/Cache
Lab.php или Memcache.php
Lab.php является немного допиленной оберткой вокруг Lite.php.
 
Вот по изложенным выше причинам, нет единого класса, отвечающего за кэширование - до сих пор он никому был не нужен