MariaDB не собирается прекращать поддержку кеша запросов в отличии от MySQL, но начиная с версии 10.1.7 он отключен по умолчанию. Перед включением необходимо проверить следующие настройки сервера:
- have_query_cache — расскажет поддерживается ли кеширование на нашем сервере
- query_cache_size — объем памяти выделяемый для кеширования запросов
- query_cache_type — включен ли кеш запросов и в каком режиме.
1 | 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
1 | nano /etc/mysql/my.cnf |
1 2 | query_cache_size = 20971520 query_cache_type = 1 |
После укзазания переменной query_cache_size отличным от умолчания(установил в 20 МБ), кеш должен был включиться автоматически, но на всякий явно добавим query_cache_type = 1 Проверим настройки:
1 2 | 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
1 | mysql -e "show status like '%Qcache%'" |
Ну и для очистки кеша используем FLUSH QUERY CACHE;