2012-10-03 42 views
4

我想了解如何緩存數據庫的一個好方法,該做什麼和不該做什麼。雖然我想確保迄今爲止我已經正確地理解了一切。也許你可以幫助我?使用PHP,MySQL和Redis

目前我沒有任何緩存,我在本地使用XAMPP進行一切操作。爲了存儲數據,我使用MySQL/PHPMyAdmin並獲取,添加和更新數據,我只需在PHP中創建Mysqli查詢。正如我所說,我現在沒有任何緩存,所以我開始尋找最好的方法來做到這一點。

經過快速搜索,我發現Redis。所以我的想法是使用MySQL存儲數據並使用Redis緩存。這是做這件事的好方法,還是讓我明白一切都完全錯了?

如果我是對的,我該如何實施Redis?我如何緩存數據?如果我想要的數據被緩存,如果它從緩存中取出,否則從PHP數據庫中取出它,我會在PHP中進行檢查嗎?

真的想知道我是否在正確的軌道上。

回答

9

Redis是一款具有內存數據集的開源數據結構服務器,它的內置數據類型不僅僅是簡單的鍵/值存儲。

如果您的要求是緩存大量數據,你可以去了,這裏是它

一個quick tutor如果你只是想實現緩存,您可以使用內存緩存

內存緩存是良好的存儲速度慢[ - 50分的結果,根據該平均行權重1]

內存緩存不是返回大型數據集[100 - ∞,根據平均行權重]任何查詢,以便高效

返回小的數據集的查詢

以下是一些你可以找到的memcache

Memcache introduction

using memcache with php and mysql

,並詳細信息的鏈接,最後但並非最不重要

MySQL也緩存查詢的結果,可能是你可以增加mysql查詢緩存大小?或將大查詢的結果緩存在獨立表中。

在許多SO貼子的,但最好的一個,我覺得提出提供

在MySQL查詢緩存的更多信息,這裏的一個

Mysql query caching

以上SO發佈可以幫助你

+0

好吧,也許MySQL的緩存是現在的方式。但是,我如何看到MySQL正在使用緩存,以及我在哪裏增加查詢緩存大小以及類似的東西? –

+0

@Oskwish看看更新的答案 –

+0

+1不錯的答案。 – QCar