php:缓存mysql结果x分钟

时间:2012-12-25 19:47:57

标签: php mysql caching

我构建了一个块,结果是在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");

2 个答案:

答案 0 :(得分:1)

如果您的表数据没有经常更新,请使用MySQL query cache。否则请使用memcached

答案 1 :(得分:0)

大多数情况下,不需要缓存。而且,在像你这样的情况下,它只是一个拐杖,而不是一个合适的解决方案。

如果创建了一个在服务器上产生巨大负载的查询,则必须优化该查询,而不是缓存其结果。

在此查询上运行explain,找出它不使用索引的原因(如果有)。