У вас версия prestashop какая?
В модуле многоуровневой навигации для prestashop 1.7 есть кеширование запросов.
И в blocklayered для prestashop 1.6 кешируются запросы
public function getFilterBlock($selected_filters = array())
{
...
if (is_array($cache))
return $cache;
Зачем повторять кеширование?
Если вам sql запросы нужно кешировать, то это настраивается на стороне сервера.
А в prestashop все запросы кешируются по умолчанию
Метод execute($sql, $use_cache = 1) класса DB