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