我构建了一个块,结果是在mysql上做了很大的负担并使表锁定。 我如何使用php将mysql结果缓存到文件或内存中X分钟?
$result = mysql_query("SELECT * FROM dle_post WHERE (approve='1')
AND (category LIKE 'something' $all_movies)
AND date >= '$monthagodate'
AND date < '$curdate' + INTERVAL 1 day
ORDER BY date DESC LIMIT $more,$number_of_topics");
答案 0 :(得分:1)
如果您的表数据没有经常更新,请使用MySQL query cache。否则请使用memcached。
答案 1 :(得分:0)
大多数情况下,不需要缓存。而且,在像你这样的情况下,它只是一个拐杖,而不是一个合适的解决方案。
如果创建了一个在服务器上产生巨大负载的查询,则必须优化该查询,而不是缓存其结果。
在此查询上运行explain
,找出它不使用索引的原因(如果有)。