MySQL缓存的配置和使用(2)

mysql> show variables like 'have_query_cache'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | have_query_cache | YES | +------------------+-------+ 1 row in set (0.00 sec) mysql> show status like '%qcache_cache%'; Empty set (0.00 sec) mysql> show status like '%qcache%'; +-------------------------+-------+ | Variable_name | Value | +-------------------------+-------+ | Qcache_free_blocks | 0 | 缓存空闲的内存块 | Qcache_free_memory | 0 | 在query_cache_size设置的缓存中的空闲的内存 | Qcache_hits | 0 | 缓存的命中次数 | Qcache_inserts | 0 | 查询缓存区此前总共缓存过多少条查询命令的结果 | Qcache_lowmem_prunes | 0 | 查询缓存区已满而从其中溢出和删除的查询结果的个数 | Qcache_not_cached | 0 | | Qcache_queries_in_cache | 0 | | Qcache_total_blocks | 0 | 缓存总的内存块 +-------------------------+-------+ 8 rows in set (0.00 sec)

二、mysql查询缓存的配置和使用

1.配置查询缓存

查询缓存的配置可以通过设置系统环境变量来完成,设置环境变量一般有两种方式:一种是配置文件中配置;另外可以在命令行中配置。

Vim /etc/my.cnf

MySQL缓存的配置和使用

Query_cache_type可以是0,1,20代表不使用缓存,1代表使用缓存,2代表根据需要使用

2.使用查询缓存

3.查询缓存的维护

在使用查询缓存时,可以通过have_query_cache来查看当前服务器是否支持查询缓存,

mysql> show variables like 'have_query_cache'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | have_query_cache | YES | +------------------+-------+ Yes表示支持 当查询缓存工作一定时间后,通过show status来监控缓存的性能 mysql> show status like '%qcache%'; +-------------------------+-----------+ | Variable_name | Value | +-------------------------+-----------+ | Qcache_free_blocks | 1 | | Qcache_free_memory | 268414376 | | Qcache_hits | 0 | | Qcache_inserts | 2 | | Qcache_lowmem_prunes | 0 | | Qcache_not_cached | 3 | | Qcache_queries_in_cache | 2 | | Qcache_total_blocks | 7 | +-------------------------+-----------+ 查询缓存会生成碎片,可以通过下面命令来清理碎片 mysql> flush query cache; Query OK, 0 rows affected (0.00 sec) 如果想清理内存中的碎片: mysql> reset query cache; Query OK, 0 rows affected (0.00 sec) 两个命令同时使用,彻底清理碎片。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ab74839d73cea444c85400aa14f01376.html