@gachkydxvbgd

Как сделать кеширование товаров?

Как сделать кеширование товаров?

Вызываются товары так
/goods/1
/goods/2
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ответы на вопрос 1
orlov0562
@orlov0562 Куратор тега PHP
I'm cool!
Не очень понятно о каком кешировании идет речь, минимальный вариант примерно такой:
define('CACHE_DIR', '/путь/к/папке/кеша');
$cacheFile = CACHE_DIR . '/' . intval($_GET['id']); // id продукта
if (file_exists($cacheFile)) return file_get_contents($cacheFile);
ob_start();
// ... любой код
$output = ob_get_clean();
file_put_contents($cacheFile, $output);
echo $output;


Тут, не учитывается время жизни кеша, функционал работы корзины и т.д. Но, базовый смысл такой.

В твоем случае, всего скорее проблема в скорости выборки товаров по определенным запросам. Если это так, то самый простой вариант создать таблицу типа memory и там хранить результаты наиболее тяжелых запросов. Более сложный вариант: выяснить что именно требуется кешировать и дальше оптимизировать код / конфиги базы, либо использовать http ускорители типа varnish-а.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы