AFAIK mysql 当表更改(插入、更新、删除等)时,它的缓存会自动过期
mysql通常会根据query_cache_limit和大小立即缓存它,默认的query_cache_limit是1M,所以如果单个查询变得更大,那么它不会缓存,除非你改变它。
您必须确保您的查询也相等,因为它考虑了区分大小写的查询。
除此之外,您可以使用以下命令来监视它:
SHOW STATUS LIKE '%qcache%';
例如,创建一个包含一些条目的表并运行:
SELECT id,name FROM my_table WHERE id > '2'; SHOW STATUS LIKE '%qcache%';
你会注意到缓存的查询数量增加了 1,现在再次运行相同的选择,你会看到 mysql 已经在使用缓存了,结果会发生得更快。
附加信息
首先,您必须确保您有query-cache-type = 1
my.cnf 或 my.ini,具体取决于操作系统/安装。
从 mysql 中,您可以运行以下命令来验证其状态:
SHOW VARIABLES LIKE '%query_cache%';
列出数据时,您将看到查询缓存大小,如果设置为 0,则意味着您的查询缓存已禁用,该变量确定用于查询缓存的内存(以字节为单位)。
正如您对查询缓存类型所做的那样,将以下内容添加到您的 my.cnf 或 my.ini 中:
query-cache-size = 40M
归档时间: |
|
查看次数: |
2261 次 |
最近记录: |