我在VPS上運行應用程序(基於PHP & MySql)。我有文章表,其中有數百萬條記錄。每當用戶登錄我顯示每個部分的最後50個記錄。在PHP中加速緩存
因此,每次使用登錄或刷新頁面,它正在執行sql查詢來獲取這些記錄。現在網站上有很多用戶,因爲我的網頁速度已經大幅下降。
我做了一些關於緩存的研究,發現我可以根據節讀取mysql數據,不。文章例如(第1節和第50條)。將其存儲在磁盤文件緩存/ md5(部分號碼)中。
然後在未來,當我得到該部分的請求只是從cache/md5(部分號)獲取數據。
以上解決方案看起來不錯。但在我繼續之前,我真的想澄清一些下面的專家的疑惑。
- 才能真正加快我的應用程序(我知道磁盤IO比MySQL查詢速度快,但不知道有多少。)
- 我目前使用我的網頁上分頁狀顯示第5篇文章,當用戶點擊在「顯示更多」,然後顯示接下來的5篇文章等...這可以很容易地在MySQL查詢。如果我將所有記錄(50)存儲在緩存文件中,我不知道該如何做。如果有人能分享一些很棒的信息。
- 任何替代解決方案,如果你相信上述不會奏效。
- 任何開源應用程序,如果你知道。 (PHP)
預先感謝您
問候, 拉吉
謝謝TheLonelyGhost ...感謝您的迴應。我想過使用memcached,但我限制了我的VPS。我只有8GB內存。目前,PHP/MYSQL使用它的80%。所以我認爲這對我來說不是一個好的選擇,直到我轉移到不同的主機或專用服務器時,使用更多像16到32GB的內存。 – SmartDev
它儘可能利用緩存的一部分。運行2或3個更簡單的已經被緩存的選擇查詢會比連接這些表的單個查詢更好。如果沒有別的,嘗試像緩存整個頁面的清漆一樣的解決方案。 – TheLonelyGhost