MySQL数据库的缓存:

每进行一次select查询,会在SQL层的查询缓存模块的cache中分配一个key,value为查询的结果,当再次查询时,会去匹配这个key,如果有的话则直接返回value,就不需要经过命令解析器和存储引擎层了,所以速度更快。但是,当执行了增、删、改操作之后,该cache缓存就会被清空。

需要注意的是,SQL语句的大小写很重要,大小写会被识别为不同的语句。例如:

select * from table

SELECT * FROM TABLE

以上两句SQL语句会被识别为两条SQL,并不会使用缓存。

 

先,SHOW VARIABLES LIKE 'query_cache%',查询缓存开启情况,ON为开启(此处是MySQL5.5,默认为开启)

如何把mysql数据缓存到radis mysql数据库缓存_缓存

 

再通过,SHOW STATUS LIKE '%qcache%',查询缓存效果

如何把mysql数据缓存到radis mysql数据库缓存_查询缓存_02

 

Qcache_hits:数值越大表明查询缓冲使用的非常频繁。

Qcache_free_memory:缓存空闲空间,如果值很小,则表明空间不够了。

Qcache_not_cached:没有进入查询缓存的select个数。