MariaDB не собирается прекращать поддержку кеша запросов в отличии от MySQL, но начиная с версии 10.1.7 он отключен по умолчанию. Перед включением необходимо проверить следующие настройки сервера:
- have_query_cache — расскажет поддерживается ли кеширование на нашем сервере
- query_cache_size — объем памяти выделяемый для кеширования запросов
- query_cache_type — включен ли кеш запросов и в каком режиме.
mysql -e "SHOW VARIABLES WHERE VARIABLE_NAME LIKE '%have_query_cache%' OR VARIABLE_NAME LIKE '%query_cache_size%' OR VARIABLE_NAME LIKE '%query_cache_type%'"
Установку глобальных переменных, настраивать будем внося изменения в /etc/mysql/my.cnf
nano /etc/mysql/my.cnf
query_cache_size = 20971520 query_cache_type = 1
После укзазания переменной query_cache_size отличным от умолчания(установил в 20 МБ), кеш должен был включиться автоматически, но на всякий явно добавим query_cache_type = 1 Проверим настройки:
service mysql restart; mysql -e "SHOW VARIABLES WHERE VARIABLE_NAME LIKE '%have_query_cache%' OR VARIABLE_NAME LIKE '%query_cache_size%' OR VARIABLE_NAME LIKE '%query_cache_type%'";
Пришло время проверить ускорение наших приложений. По утверждению разработчиков, данные манипуляции имеет смысл производить, если в базе большинство запросов юзающих выборку, а не вставку и обновление строк. В принципе большинство бд именно такие.
Проверим статистику кеша mysql
mysql -e "show status like '%Qcache%'"
Ну и для очистки кеша используем FLUSH QUERY CACHE;