暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL 的缓存介绍

追梦Java 2023-07-18
58

点击上方追梦 Java”关注,一起追梦!



一般情况下,我们不会用到数据库自带的缓存,所以 MySQL 默认是不开启缓存的。只有以读为主的业务,数据不变化的情况下,可以开启数据库的缓存。


查看缓存是否开启:

    show variables like 'query_cache%';

    queyr_cache_type:on,表示缓存开启,默认是关闭的,可以通过修改 MySQL 配置文件 my.cnf 进行调整,重启服务后生效。

    query_cache_limit:1048576,表示单词查询缓存的结果集大小1M,超过1M则不会缓存。

    query_cache_size,表示缓存开辟的空间大小。

    查看缓存操作情况:

      show status like 'Qcache%';

      Qcache_hits:表示缓存命中次数

      Qcache_inserts:表示缓存写入次数

      缓存生效的条件是在缓存开启的情况下,执行的sql 语句字符串一模一样的时候,可以从缓存直接读取数据,但是当缓存数据相关的表存在数据变化的时候,原有的缓存就会失效,需要重新写入缓存。

      MySQL 的缓存开启后,当 sql 查询语句带有 sql_no_cache 关键字或者带有函数操作或者单次查询结果集超过 query_cache_limit 的设置的值或者查询系统表时,不会用到缓存。

      我们在开发中,最好不要开启缓存,将 query_cache_type 设置为off,query_cache_size 设置为 0;缓存一般会用 Redis 方案来替代。

      后面将为大家介绍索引的本质与数据结构


      有用的话点个在

      文章转载自追梦Java,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论