Если вы достаточно часто на сервере выполняете одни и те же запросы к MySQL-ю, то кеш намного ускорит процесс передачи информации. Для того, что бы проверить включен ли у вас кеш, зайдите в MySQL консоль и выполните:
show variables like ‘query_cache%’;
Если вы увидите что подобное:
+------------------------------+----------+ | Variable_name | Value | +------------------------------+----------+ | query_cache_limit | 10485760 | | query_cache_min_res_unit | 4096 | | query_cache_size | 67108864 | | query_cache_type | ON | | query_cache_wlock_invalidate | OFF | +------------------------------+----------+
То кеш включен, если же значение query_cache_type — OFF или query_cache_size будет равно 0, то кеш, в первом случаи выключен, а во втором включен, но размер его 0. Для того, что бы это исправить, отредактируйте ваш файл my.cnf:
query_cache_type = 1
query_cache_size = 64M
query_cache_size = 64M
Для того, что бы просмотреть как используется кеш выполните запрос:
show global status like ‘Qcache%’;
Если кеш включен то результат будет такой:
+-------------------------+----------+ | Variable_name | Value | +-------------------------+----------+ | Qcache_free_blocks | 878 | | Qcache_free_memory | 55138552 | | Qcache_hits | 894707 | | Qcache_inserts | 85813 | | Qcache_lowmem_prunes | 0 | | Qcache_not_cached | 48462 | | Qcache_queries_in_cache | 4670 | | Qcache_total_blocks | 10380 | +-------------------------+----------+
Значение Qcache_hits показывает нам, насколько часто запросы проходят через кеш.