簡體   English   中英

php:緩存 mysql 結果 x 分鍾

[英]php: cache mysql results for x minutes

我構建了一個塊,結果在 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");

如果您的表數據不經常更新,請使用MySQL 查詢緩存 否則使用memcached

大多數時候不需要緩存。 而且,在像你這樣的情況下,這只是一個拐杖,而不是一個合適的解決方案。

如果創建了一個對服務器造成巨大負載的查詢,則必須優化該查詢,而不是緩存其結果。

對這個查詢運行explain並找出它為什么不使用索引(如果有)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM