-
查询服务是否已开启缓存
执行
show variables like '%query_cache%';
查看缓存状态Variable_name: query_cache_type为缓存状态,ON表示开启,OFF表示关闭
-
开启/关闭使用查询缓存
修改my.cnf文件进行开启和关闭
[mysqld]中添加/修改:
query_cache_size = 20M
query_cache_type = ON/OFF**修改完成后重启MySQL服务:
service mysql restart/systemctl mysql restart
** -
查询缓存使用情况
执行
show status like 'qcache%';
查询缓存使用情况因为本机MySQL未开启查询缓存,所以此处和使用相关的属性均为0
属性解释:
属性 释义 Qcache_free_blocks 缓存中相邻内存块的个数。数目大说明可能有碎片。FLUSH QUERY CACHE会对缓存中的碎片进行整理,从而得到一个空闲块。 Qcache_free_memory 缓存中空闲内存大小 Qcache_hits 缓存命中次数,命中一次就+1 Qcache_inserts 查询次数,命中次数/查询次数=缓存命中率 Qcache_lowmem_prunes 缓存出现内存不足并且必须要进行清理以便为更多查询提供空间的次数,如果数字不断增长,就可能碎片非常严重,或者内存很少,通过Qcache_free_blocks、Qcache_free_memory来分析具体情况 Qcache_not_cached 不适合进行缓存的查询的数量 Qcache_queries_in_cache 当前缓存的查询(和响应)的数量 Qcache_total_blocks 缓存中块的数量