2008-08-31 87 views
9

有沒有簡單的方法來緩存MySQL queriesPHP或失敗,是否有一個小的類集,有人已經寫了,並提供將做到這一點?我可以緩存整個頁面,但這不會像一些數據更改,但有些不會,我想緩存不。緩存MySQL查詢

回答

1

我想查詢緩存大小默認爲0,這是關閉的。 編輯你的my.cnf文件,至少給它幾兆字節。 沒有必要的PHP更改:)

+0

當我在許多Ubuntu/Debian服務器上安裝mysql並檢查它們是否重新配置時,默認情況下會打開緩存。 `query_cache_limit = 1M`和`query_cache_size = 16M' – shgnInc 2014-04-15 04:09:08

1

它可能是完全矯枉過正,你試圖,但看看eAcceleratormemcache。如果您有定期更改的查詢和不會的查詢,那麼您可能不希望所有的db查詢都由mysql進行相同的時間長度緩存。

上述緩存引擎允許您在逐個查詢的基礎上決定數據應該緩存多長時間。所以說你的頭文件中的數據很少會改變,你可以檢查它是否在緩存中 - 如果是,返回它,否則執行查詢,並把它放入緩存中,使用壽命爲N,所以下一個每頁加載N秒將從緩存中提取數據,而不需要靠近MySQL。 然後,您可以隨時隨意從數據庫中「實時」獲取其他數據,並繞過緩存。

4

您可以使用Zend Cache緩存查詢的結果等等。

0

我會推薦整個頁面緩存路線。如果某些數據發生變化,只需放置令牌/佔位符來代替動態數據。使用這些令牌緩存整個頁面,然後處理用於令牌的緩存數據的令牌。因此,您現在有一個包含動態內容的緩存頁面。