Кеш в Opencart


1. Кеш в браузерах користувачів.
Цим метатегом можна дати команду браузерам що кеш потрібно очистити:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
Додатково до файлів CSS та JS варто додавати версію. Для прикладу: style.css?version=1
2. Кеш memcached. Встановлюється частіше за все за замовчуванням. Для очистки можна створити php-файл із вмістом:
<?php class ControllerCustomCache extends Controller {

    public function index() {
        $memcached = new Memcached();
        $memcached->addServer('/home/ri359117/.system/memcache/socket', 0);
        $memcached->flush();
        $stats = $memcached->getStats();
        $user_bytes = $stats["/home/ri359117/.system/memcache/socket:11211"]["bytes"];

        echo "Used: " . round($user_bytes / 1024 / 1024, 2) . " MB";
        echo "<pre>";
        print_r($stats["/home/ri359117/.system/memcache/socket:11211"]["bytes"]);
        echo "</pre>";
    }
}
​
Чомусь треба кілька разів оновити. Дані для addServer() треба брати або з файлу config.php або у хостингу. В Opencart код можна як в прикладі розмістити в контролер і відкривати за посиланням https://talvi.com.ua/admin/index.php?route=custom/cache&user_token={токен беремо з адмінки після успішної авторизації}
3. Для Opencart 3 також варто очистити кеш Twig. На головній сторінці справа вверху є шестерня, клікаємо і очищаємо кеш.

Ви знайшли цю статтю корисною?