mysql中缓存开启和失效场景cache
-- 1.当前数据库是否支持缓存数据
SHOW VARIABLES LIKE 'have_query_cache';
-- 2.当前数据库缓存数据库开关是否开启 OFF/0未开启 YES/1开启
SHOW VARIABLES LIKE 'query_cache_type';
-- 3.查询当前缓存的内存大小
SHOW VARIABLES LIKE 'query_cache_size'; -- 1048576 字节 1M
-- 4.可以查询缓存使用的使用情况(使用缓存,未使用缓存(not_cached),缓存命中数(hits))
SHOW STATUS LIKE 'Qcache%';
-- mysql 查询缓存默认是关闭的
-- 需要取my.conf(linux系统中的mysq服务器) 中添加 query_cache_type=1 重启mysql服务器 就会开启查询缓存
-- 开启缓存后造成缓存失效的原因是:
-- 1.sql语句不一样,缓存sql要完全一样 包括大小写一样
-- 2.当sql中有一些不确定的时,则不会缓存,如now(),current_date()等
-- 3.查询mysql,information_schema ,performance_schema 系统数据库时,不会走查询缓存。
-- 4.表结构发生变化,表中发生:insert,update,delete 都会清除缓存。