2015-11-18 145 views
4

我正在建立一個基於MySQL數據庫的網站。該網站將獲得很多表格,很多行和很多意見。我知道這是因爲我正在爲現有網站構建一個新系統。我應該在哪種情況下使用緩存?

當前網站僅使用MySQL,沒有緩存,並導致很多問題,如性能不佳和數據庫崩潰。

在新系統上,我想,以避免通過使用緩存引擎像Redis的,但真正的問題是,我不太明白什麼樣的數據應該被緩存,或在何種情況下。

我應該緩存:

  • 一切嗎?
  • 大/小桌子?
  • 所有數據/只有一部分?

應該如何使用緩存?

  • 將所有數據存儲在MySQL中,並只緩存一些記錄? (例如:最近的文章)
  • 僅在Redis上存儲一些數據? (例如:文章視圖/ IP地址表)

我不完全想讓你直接回答我的問題,我只需要一個使用緩存的指導。

回答

0

我使用apache-ignite作爲緩存,其中我只存儲訪問量最大的數據,例如報告實體,在您的案例中可能是最近添加的文章(您需要做出決定)。

根據您的硬件,因爲點燃或任何緩存,所以在RAM上存儲數據時,您應該在決定緩存什麼時考慮這方面的問題。

你說你想存儲文章,只有最近的文章,那麼你可以選擇只複製那些在兩週前有creationDate的文章。

Ignite also provides an ORM該工具用於將點火連接到數據庫,並且可以通過兩種方式進行配置:在緩存發生更改或者決定執行該操作時立即更新數據庫。

相關問題